Login控件是一个复合控件,它有效集成了登录验证页面中常见用户界面元素和功能。通常情况下,Login控件会在页面中呈现3个核心元素,用于输入用户名的文本框;用于输入密码的文本框;用于提交用户凭证的按钮。Login控件与成员资格管理功能集成,无需编写任何代码就能够实现用户登录功能。
Login控件还具有很强的自定义扩展能力,主要包括以下几个方面:
q 自定义获取密码页面的提示文字和超链接
q 自定义帮助页面的提示文字和超链接
q 自定义创建新用户页面的提示文字和超链接
q 自定义“下次登录时记住”的CheckBox控件
q 自定义各种提示信息和操作,例如,未填写用户凭证的提示、登录失败的提示、登录成功之后的操作等。
图1为Login控件。
![]()
图1 Login控件
(1)Login控件常用属性
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,它包含网站新用户注册页的URL。CreateUserText属性包含链接使用的文本。如果CreateUserText属性为空,则不向用户提供注册页链接。
q DestinationPageUrl属性
DestinationPageUrl属性指定当登录尝试成功时显示的页面。它将重写Login控件的默认行为以及在配置文件中所做的defaultUrl设置。
q FailureAction属性
该属性定义当用户没有成功登录到网站时Login控件的行为,默认行为为重新加载页并显示FailureText属性的内容,以提醒用户登录失败。当FailureAction设置为RedirectToLoginPage时,用户将被重定向到Web.Config文件中定义的登录页。
q Password属性
该属性用来设置用户登录所需的密码,默认为空。设置该属性时,既可以在属性对话框中设置,也可以在后台代码中设置。密码为明文形式。
(2)Login控件常用事件
由于Login控件与成员资格管理功能集成,因此,主要设置的是Login控件属性,而不必关心如何实现登录验证过程中的事件处理程序。这部分内容都由Login控件自动完成的。这样做虽然带来了快捷和方便,但是应用灵活性有所降低。实际上,Login控件允许开发人员自行实现登录验证过程中的事件处理程序。Login控件常用事件及说明如表2所示。
表2 Login控件常用事件及说明
|
事件 |
说明 |
|
Authenticate |
验证用户的身份后出现。 |
|
LoggedIn |
在用户登录到网站并进行身份验证后出现。 |
|
LoggingIn |
在用户未进行身份验证而提交登录信息时出现。 |
|
LoginError |
当检测到登录错误时出现。 |
下面来介绍一个Login控件的Authenticate事件。
当用户使用Login控件登录到网站时,引发Authenticate事件。自定义身份验证方案可以使用Authenticate事件对用户进行身份验证。定义身份验证方案应该将Authenticated属性设置为true,以指示已验证用户的身份。