我爱Aspx >> Asp.Net >> asp.net2.0新增加的安全控件(译)[img]http://photoimg66.qq.com/cgi-bin/load_pic2?verify=iYE%2BNW3zKRlTYfAzD9dWVw%3D%3D
新建的用户信息在哪
我们用WAT建了用户,也用CreateUserWizard控件建了用户,可我们却不知道用户信息在哪,你在Solution Explorer的APP_Data目录中可能找到ASPNETDB.MDF,这个数据库是SQL Server 2005 Express默认的asp.net2.0用户帐户数据库,他包括aspnet_Membership和aspnet_Users二个表,我们之前新建的用户可以在表中找到.你不需要自己建数据库,asp.net2.0会自动为你建好.
Membership模式的工作方式
asp.net2.0使用新的安全模式--Membership模式,他允许开发者选择他们自己的安全特性.下图中展示了此模式的可扩展性.
[img]http://photoimg66.qq.com/cgi-bin/load_pic2?verify=G405ZLX6%2ByDutIUTzLAh7Q%3D%3D
顶层是不同的Web server控件如Login,LoginStatus和LoginView,下面是他们执行所必需的API,Membership class主要用于新增和删除用户MembershipUser class负责用户信息(如密码,密码问题等等),Membership API用Membership Providers保存用户信息.Visual Studio 2005利用一个默认的Membership Provider--SQL Server 2005 Express Membership Provider,Membership Provider在Membership APIs和数据库之间扮演一个桥梁的角色,所以信息能够保持持久性,开发者也不用写底层数据层代码.
找回密码
找回密码功能是一个公共操作,你必须是administrator.PasswordRecovery控件可能自动为用户找回密码并发送到用户的指定的Email.
如果你储存的密码是纯文本而不hash值,密码恢复是可用.可是machine.config文件默认密码储存形式是hash的,
我们将其改为以纯文本方式储存密码,
...
<system.web>
<membership
defaultProvider="SqlProvider"
userIsOnlineTimeWindow="15">
<providers>
<clear />
<add
name="SqlProvider"
type="System.Web.Security.SqlMembershipProvider"
connectionStringName="LocalSqlServer"
applicationName="SecurityControls"
Ҷƪл˵?
初次体验.net Ajax无刷新技术[04-21]
Ajax基础-服务器端ASP.net脚本请..[04-21]
c#.net存储过程版本的分页[04-21]
用XenoCode 2006 加密dll (.NET混..[04-21]
ASP输出Word、Excel文件[04-21]
.net打包自动安装数据库[04-21]
ASP.NET 2.0 正式版中无刷新页面..[04-21]
Ajax在.NET中与Server控件的交互[04-21]
体验ASP.NET 2.0新特性[04-21]
FCKeditor.net[04-21]
c#操作xml类[04-21]
本站photos模块代码[04-21]
网页常用效果和知识[04-21]
清空页面缓存[04-21]
初次体验.net Ajax无刷新技术[04-21]
在vs2005 web程序里如何做固定表..[04-21]
Ajax基础-服务器端ASP.net脚本请..[04-21]
C#静态页面生成[04-21]
如何开发一个多种语言版本的C#程..[04-21]
c#.net存储过程版本的分页[04-21]