ASP.NET 2.0的安全控件
供给者模型工作原理
ASP.NET 2.0使用一种新型的安全模型,称为会员供 给者模型。这个模型通过使开发者能够选择添加安全特性到他们的应用程序的方 式来允许最大程度的灵活性和扩展性。 作为这个供给者模型扩展性的一 个实例,请考虑一下新的安全(登录)控件-你已在本文中看到过。这些控件、API 以及构成该新模型的供给者显示于下图中。 图: 会员供给者模型:该图显示了本文所讨论的控件和会员供给者模型的各个层之间 的关系 在最顶层上是各种的Web服务器控件,例如Login、LoginStatus和 LoginView控件。在该控件下面是API-它们执行要求其完成的任务。Membership 类负责处理如添加和删除用户等的任务,而MembershipUser类负责管理用户的信 息如口令、口令问题,等等。这些会员API使用会员供给者来保存或进行持续性 存储。Visual Studio 2005与一个缺省的会员供给者一同发行-SQL Server 2005 Express Membership Provider。会员供给者的角色是充当会员API和数据存储之 间的桥梁,以便信息能够被持续性存储而不需要开发者编写低层代码来存取数据 。 如果微软提供的供给者不能满足你的需要,你或者可以扩展它们或者 编写你自己的。例如,如果你想要用一个XML文档而不是一个关系数据库(例如 SQLServer)来保存你的站点的会员信息,你可以编写你自己的供给者来实现与 XML文件的对话。 七、恢复丢失的口令 恢复/清除丢失的口令是你-作为一个管理员需要执行的一项普通任务。 PasswordRecovery控件允许用户自己执行这项普通任务-通过自动地检索口令然 后用电子邮件把它发送给用户。 仅在你以普通文本存储口令而不是对口令的散列值进行存储时,口令恢复才 是重要的。然而,默认情况下,在machine.config文件中的设置指定所有的口令 ,在把它们存储到成员数据库之前,要被散列化处理。Machine.config默认情况 下也不允许口令恢复。 为了在普通文本中存储用户口令,你可以在文件Web.config中添加下列入口 :
具体地说,你现在清除了所有的会员供给者,然后添加一个新的 SqlMembershipProvider。注意,为了允许口令检索,你需要设置 enablePasswordRetrieval(为真)和passwordFormat(清除之)属性。 如果你设置了passwordFormat为散列化的,那么你必须把 enablePasswordReset设置成假。 现在拖动PasswordRecovery控件到Default.aspx,然后应用彩色模式。该 PasswordRecovery控件现在看起来象图17。 图17:PasswordRecovery控件。通过使用这个控件,用户能够恢复他们忘记 的口令 在PasswordRecovery控件的属性窗口中,设置MailDefinition属性下的 “From”和“Subject”字段,如图18所示。 图18:PasswordRecovery控件属性:如何在属性浏览器中,配置你的 PasswordRecovery控件 另外,你需要在你的机器上配置好SMTP服务,以便用PasswordRecovery控件 来发送一电子邮件。为在你的机器上配置该SMTP服务,启动WAT,选择应用程序 ,然后选择配置SMTP电子邮件设置。 为测试应用程序,按下F5键。你将被 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |