首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 笔记本电脑 | 北大青鸟 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
中国IT实验室Dotnet频道
中国IT教育
Google
首页 ASP.NET  C#  XML/WebService ADO.NET VC.NET VB.NET .NET 资讯动态 专题 RSS订阅 讨论 下载
您现在的位置: 中国IT实验室 >> Dotnet >> ASP.NET >> 正文

抢先试用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中添加下列入口:

...

<system.web>

<membership

defaultProvider="SqlProvider"

userIsOnlineTimeWindow="15">

<providers>

<clear />

<add

name="SqlProvider"

type="System.Web.Security.SqlMembershipProvider"

connectionStringName="LocalSqlServer"

applicationName="SecurityControls"

enablePasswordRetrieval="true"

enablePasswordReset="true"

requiresQuestionAndAnswer="true"

requiresUniqueEmail="true"

passwordFormat="Clear" />

</providers>

</membership>

...

具体地说,你现在清除了所有的会员供给者,然后添加一个新的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键。你将被提示输入你的用户名,然后是你的安全问题。如果该安全问题的答案是正确的,那么口令将被以电子邮件形式发送给你;否则,在该页面将显示给你一错误消息,如图19所示。

图19.恢复一丢失的口令:用户在恢复一个丢失的口令的过程中,会看到这个屏幕序列

为了安全原因,通过电子邮件发送口令给用户不是一个好注意。因此,你确实需要小心地考虑使用这一选择。

 

上一页  [1] [2] [3] [4] [5] 下一页

【责编:Peng】

中国IT教育

相关产品和培训
文章评论
 友情推荐链接
 认证培训
 专题推荐

 ·算法分析与设计之五大常用算法
 ·开发必备 漫谈Java加密保护
 ·嵌入式开发--ARM技术专题
 ·C/C++指针,认真了解,灵活运用
 ·.NET开发:C#实用基础教程
 ·软件测试工具QTP学习专题
 ·嵌入式开发单片机解决方案专题
 ·Java开发环境 Greenfoot 程序员手册
 ·C++对象布局及多态实现的探索
 ·常见排序算法的实现
 今日更新
 社区讨论
 博客论点
 频道精选
 Dotnet频道相关导航