ASP.NET 登录控件(转贴msdn)

ASP.NET 登录控件是一套集成了 ASP.NET 成员资格的控件,用于提供基于用户身份验证、成员资格和角色来处理用户成员资格和控制站点页访问的解决方案。通过使用登录控件,您可以添加使用户能够登录、注销、恢复其密码并查看受限信息的功能,所有这些功能都无需编写代码。可以通过将各个独立控件加入到较大进程中来实现登录控件的集合功能。例如,将 Login 控件用于身份验证,将 PasswordRecovery 和 CreateUserWizard 控件用于维护和注册。有关 ASP.NET 成员资格的更多信息,请参见本主题后面的“ASP.NET 成员资格”。本主题介绍了各个登录控件,从而概述了集合功能以及各个控件是如何关联在一起的。


默认情况下,ASP.NET 登录控件以纯文本形式工作于 HTTP 上。如果您对安全性十分关注,那么可以使用带 SSL 加密的 HTTPS。


CreateUserWizard 控件



CreateUserWizard 控件收集用户提供的信息,然后在 ASP.NET 成员资格系统中为用户创建帐户。默认情况下,控件会提示用户输入下列信息:



  • 用户名。


  • 密码。


  • 电子邮件地址,该地址用于发送密码或在恢复密码时使用。


  • 安全提示问题,与安全答案一起使用,使用户可恢复密码。


  • 安全答案。


您可以配置 CreateUserWizard 控件,以根据应用程序要求以及您正在使用的成员资格提供程序收集来自用户的不同信息。


然后,根据提供程序首选项存储这些信息,并将这些信息用于对用户进行身份验证,以及用在恢复密码的过程中。您可以配置成员资格提供程序,以使用不可恢复的加密方案安全地存储密码。如果您选择此选项,而不是找回丢失的密码,那么将自动给用户颁发一个新的密码。可以使用 ChangePassword 控件更改新密码。



注意:
可以使用网站管理实用工具 (WAT)、ASP.NET MMC 管理单元来创建用户,或者通过调用成员资格 API 中的方法以编程方式创建用户。

 



Login 控件



Login 控件是一个复合控件,它包含用户名和密码文本框,以及一个询问用户是否希望系统在他(她)下次访问该页时记起其身份的复选框。您可以通过控件的公开属性更改文本,并向控件添加更多的链接以进行注册或密码恢复。默认情况下,Login 控件与 ASP.NET 成员资格交互以进行身份验证。但是,您也可以通过处理控件的 Authenticate 事件来创建自定义身份验证过程。


LoginStatus 控件



LoginStatus 控件可在两种状态间切换。如果用户尚未登录,则控件将给用户提供一个登录的机会,也就是将其定向到您创建的登录页。如果用户已经登录,则 LoginStatus 控件允许用户注销。(此功能类似于其他成员资格系统所使用的 Sign InSign Out 按钮。)此控件根据您的登录状态切换,这一点有些类似于 LoginView 。不过,与 LoginView 不同的是,LoginStatus 控件允许用户注销或者允许用户将自身与登录页连接。


LoginName 控件



LoginName 控件在用户登录后显示用户的登录名,或者如果应用程序使用的是 Windows 身份验证,则此控件将显示用户的域和帐户名。与其他登录控件不同,LoginName 控件与 ASP.NET 成员资格或 Windows 身份验证一起使用。


LoginView 控件



通过 LoginView 控件,您可以向已登录的用户和未登录的用户(匿名用户)显示不同的信息。登录状态通过以下两个显示模板来指示: AnonymousTemplate 和 LoggedInTemplate 。将根据用户的状态在控件上呈现相应的模板。您可以在每个模板内放入文本和链接,使匿名用户能够注册或登录,使已登录的用户能够更改其密码、转到成员页或执行需要预先通过身份验证的其他操作。


PasswordRecovery 控件



通过 PasswordRecovery 控件,用户可以根据与其用户名关联的电子邮件地址来找回其密码。控件会提示用户输入其帐户名,并且,如果相应地配置了成员资格提供程序,则控件随后会给出安全提示问题。根据是否对用户的密码进行了不可逆的加密,ASP.NET 会将密码发送到用户的电子邮件帐户或颁发一个新密码。



注意:
用户帐户无需使用 CreateUserWizard 控件来创建。帐户可以由管理员使用网站管理实用工具 (WAT) 或 ASP.NET MMC 管理单元来创建,或者通过调用成员资格 API 中的方法以编程方式创建。

 



ChangePassword 控件



通过 ChangePassword 控件,用户可以更改其密码。已登录用户可以访问该控件,然后提供原来的密码、新密码并确认新密码。如果原来的密码正确,则用户密码将更改。


ASP.NET 成员资格和登录控件



ASP.NET 成员资格是登录控件的默认身份验证后端。如果您希望使用自己的身份验证系统,那么可以在 Login 控件中处理 Authenticate 事件。


将 ASP.NET 成员资格用作登录控件的身份验证系统的关键之处是,为您的站点配置 ASP.NET 成员资格。


综合使用登录控件



登录控件的优势在于,如果综合使用这些控件,可以为站点提供可靠的成员资格解决方案。再加上采用 ASP.NET 成员资格作为后端,登录控件的综合使用可提供全面的登录功能。


Login 控件不需要进行配置,它可与成员资格 API 一起对用户进行身份验证。同样,LoginViewLoginStatus 控件也不要求以编程方式切换其状态。将它们放在页中后,其状态会在运行时针对用户自动切换。已登录的用户可以查看 LoginView 控件中的 LoggedInTemplate 属性,并且 LoginStatus 控件显示注销选项。相反,未登录的用户可以查看 LoginView 控件中的 AnonymousTemplate 属性,并且 LoginStatus 控件显示登录选项。


CreateUserWizard 是一个独立的控件,放入页中之后,可以方便地用于注册用户。


ChangePassword 控件会自动询问用户安全提示问题,然后处理密码更改或拒绝密码更改。


自定义登录控件的外观



可使用 ASP.NET 主题为登录控件设置主题(有关更多信息,请参见 主题 Theme http://bbs.mscommunity.com/Forums/ShowThread.aspx?PostID=11994),或者可以使用控件属性来确定其外观。例如,考虑 Login 控件:



 
<asp:Login ID="Login1" Runat="server">
</asp:Login>
<asp:Login ID="Login1" Runat="server" BorderWidth="1px"
BorderColor="#CCCC99" BorderStyle="Solid" BackColor="#F7F7DE"
Font-Names="Verdana" Font-Size="10pt">
<TitleTextStyle Font-Bold="True"
BackColor="#6B696B" ForeColor="#FFFFFF">
</TitleTextStyle>
</asp:Login>

属性用于确定控件的外观,TitleTextStyle 元素用于设置标题文本的外观。

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值