Login控件

Login控件是一个复合控件,它有效集成了登录验证页面中常见用户界面元素和功能。通常情况下,Login控件会在页面中呈现3个核心元素,用于输入用户名的文本框;用于输入密码的文本框;用于提交用户凭证的按钮。Login控件与成员资格管理功能集成,无需编写任何代码就能够实现用户登录功能。

Login控件还具有很强的自定义扩展能力,主要包括以下几个方面:

q        自定义获取密码页面的提示文字和超链接

q        自定义帮助页面的提示文字和超链接

q        自定义创建新用户页面的提示文字和超链接

q        自定义“下次登录时记住”的CheckBox控件

q        自定义各种提示信息和操作,例如,未填写用户凭证的提示、登录失败的提示、登录成功之后的操作等。

1Login控件。

1  Login控件

1Login控件常用属性

Login控件常用属性及说明如表1所示。

1                             Login控件常用的属性及说明

属性名称

属性值

CreateUserText

获取或设置新用户注册页的链接文本。

CreateUserUrl

获取或设置新用户注册页的URL

DestinationPageUrl

获取或设置在登录尝试成功时向用户显示的页面的URL

FailureAction

获取或设置当登录尝试失败时发生的操作。

FailureText

获取或设置当登录尝试失败时显示的文本。

HelpPageText

获取或设置登录帮助页链接的文本。

HelpPageUrl

获取或设置登录帮助页的URL

InstructionText

获取或设置用户的登录说明文本。

LoginButtonText

获取或设置Login控件的登录按钮的文本。

MembershipProvider

获取或设置控件使用的成员资格数据提供程序的名称。

Password

获取用户输入的密码。

PasswordLabelText

获取或设置Password文本框的标签文本。

PasswordRecoveryText

获取或设置密码恢复页链接的文本。

PasswordRecoveryUrl

获取或设置密码恢复页的URL

PasswordRequiredErrorMessage

获取或设置当密码字段为空时在ValidationSummary控件中显示的错误信息。

RememberMeSet

获取或设置一个值,该值指示是否将持久性身份验证Cookie发送到用户的浏览器。

RememberMeText

获取或设置“记住我”复选框的标签文本。

TitleText

获取或设置Login控件的标题。

UserName

获取用户输入的用户名。

UserNameLabelText

获取或设置UserName文本框的标签文本。

UserNameRequiredErrorMessage

获取或设置当用户名字段为空时在ValidationSummary控件中显示的错误信息。

VisibleWhenLoggedIn

获取或设置一个值,该值指示在验证用户身份后是否显示Login控件。

下面对比较重要的属性进行详细介绍。

q    CreateUserText属性

CreateUserText属性包含站点注册页的链接文本。在CreateUserUrl属性中指定注册页的URL。如果CreateUserUrl为空,则向用户显示CreateUserText属性中的文本,但不以链接的形式显示。如果CreateUserText属性为空,则不向用户提供注册页链接。

q    CreateUserUrl属性

该属性用来设置新用户注册页的URL,它包含网站新用户注册页的URLCreateUserText属性包含链接使用的文本。如果CreateUserText属性为空,则不向用户提供注册页链接。

q    DestinationPageUrl属性

DestinationPageUrl属性指定当登录尝试成功时显示的页面。它将重写Login控件的默认行为以及在配置文件中所做的defaultUrl设置。

q    FailureAction属性

该属性定义当用户没有成功登录到网站时Login控件的行为,默认行为为重新加载页并显示FailureText属性的内容,以提醒用户登录失败。当FailureAction设置为RedirectToLoginPage时,用户将被重定向到Web.Config文件中定义的登录页。

q    Password属性

该属性用来设置用户登录所需的密码,默认为空。设置该属性时,既可以在属性对话框中设置,也可以在后台代码中设置。密码为明文形式。

2Login控件常用事件

由于Login控件与成员资格管理功能集成,因此,主要设置的是Login控件属性,而不必关心如何实现登录验证过程中的事件处理程序。这部分内容都由Login控件自动完成的。这样做虽然带来了快捷和方便,但是应用灵活性有所降低。实际上,Login控件允许开发人员自行实现登录验证过程中的事件处理程序。Login控件常用事件及说明如表2所示。

2                             Login控件常用事件及说明

事件

说明

Authenticate

验证用户的身份后出现。

LoggedIn

在用户登录到网站并进行身份验证后出现。

LoggingIn

在用户未进行身份验证而提交登录信息时出现。

LoginError

当检测到登录错误时出现。

下面来介绍一个Login控件的Authenticate事件。

当用户使用Login控件登录到网站时,引发Authenticate事件。自定义身份验证方案可以使用Authenticate事件对用户进行身份验证。定义身份验证方案应该将Authenticated属性设置为true,以指示已验证用户的身份。