C#.NET:petshop之membership(上篇…
来源:互联网 发布:tpshop源码下载 编辑:程序博客网 时间:2024/05/23 19:39
说明:在ASP.NET应用程序中,Membership类用于验证用户凭据并管理用户设置(如密码和电子邮件地址)。MemberShip类可以独自使用,或者与FormsAuthentication一起使用以创建一个完整的WEB应用程序或网站的用户身份验证系。Login控件封装了Membership类,从而提供一种便捷的用户验证机制。
手稿图:(上传后质量被降低太多。。。直接看下面分解吧)
测试说明:
1.首先在数据库中创建一个空数据库:MembershipTest
2.然后通过aspnet_regsql.exe(位于X:\Windows\Microsoft.NET\Framework\v2.0.50727);
为应用程序配置sql
之后查看数据库,会自动生成几张数据表,如下:
说明:这些生成的表实际上跟msPetshop4Services数据库中的表是一样的,包括存储过程;
换句话说,msPetShop4Services数据库就是为Membership提供数据服务的。
3.在web.config配置文件中,标签内增加:
默认url
</</span>authentication>
同时添加
标签
注意,membership的内容可以在
X:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG文件夹下的machine.config内查找标签获得;
将上述配置节点添加进配置文件后,需要添加defaultProvider属性,并在标签内添加,标签用于防止provider的名字之前在其他地方已经被使用;
同时还要修改add标签中的相关属性,比如:
connectionStringName:(这个需要设置为:connectionStrings标签内添加的数据连接字符串的名字,比如”conn”)
enablePasswordRetrieval:这个属性表示在忘记密码的时候是否能够获取密码,一般设false
enablePasswordReset:是否允许修改密码,一般设true
requiresQuestionAndAnswe
requiresUniqueEmail:每个用户的Email是否都是唯一的
maxInvalidPasswordAttemp
minRequiredPasswordLengt
MinRequiredNonalphanumer
passwordAttemptWindow:锁定成员资格用户之前允许的最大无效密码或无效密码提示问题答案尝试次数的分钟数,详见:
http://technet.microsoft.com/zh-cn/magazine/system.web.security.membershipprovider.passwordattemptwindow(VS.80).aspx
passwordStrengthRegularE
整体如下:
4.之后在aspx页面中就可以添加LoginView控件开始使用这些配置的东西了(LoginView控件在工具箱的【登录】选项卡内)
从上到下分别是:匿名模板,登录之后用的模板,角色组模板
解决方案中添加的项有:
各页面说明:
A.default页面
说明下,这里登陆之后的模板中标签是为了在成功注册并跳转到default登录页面后显示【注销】
B.Login页面
CreateUserText:登录控件上增加一个注册链接
CreateUserUrl:跟上面一个属性配对
C.Register页面
添加注册向导:CreateUserWizard控件
其中需要给控件添加ContinueDestinationPageU
D.PasswordReset:修改密码页面
添加控件PasswordRecovery即可
5.
A.根目录下页面访问权限设置
说明:location标签是在system.web外面的,然后location标签内的授权标签authorization标签内再套一个system.web标签,并且需要在location标签内添加path属性,指明哪个页面需要授权、批准,deny
这样子设置以后,如果用户在未登录的状态下去访问Account.aspx这个需要授权登录认证的页面时,因为在上面已经设置了权限配置,这个时候页面会自动跳转到登录页面Login.aspx【这个自动跳转页面链接是由在system.web下的authentication标签内设置的loginUrl属性决定的】
B.在自定义文件夹内的页面的访问权限设置
比如页面在,Test.aspx
如果要设置的该页面的访问权限,需要在admin文件夹下再添加一个配置文件web.config,之后再该配置文件中添加跟上述配置文件一样的授权代码即可;
另外,如果该文件夹(admin)下的所有页面都需要进行授权认证,那么可以这样子配置:
直接在system.web标签下进行授权节点配置
PS.至此,这里所有需要验证通过后才能访问的页面,一旦为匿名用户访问,都会跳转至Login.aspx页面,当登录成功后,会跳转至当登录前访问到页面,而如果登录前没有访问过其他页面,则会跳转至defaultUrl中设置的值,即这里为Deafult.aspx页面
- (2013-02-08 13:13:54)
- C#.NET:petshop之membership(上篇…
- C#.NET:petshop之Profile(下篇)
- 视频petshop学习membership
- PetShop之ASP.NET缓存
- PetShop之ASP.NET缓存
- PetShop之ASP.NET缓存
- PetShop之ASP.NET缓存
- PetShop之ASP.NET缓存
- PetShop之ASP.NET缓存
- PetShop之ASP.NET缓存
- PetShop之ASP.NET缓存
- PetShop之ASP.NET缓存
- PetShop之ASP.NET缓存
- PetShop之ASP.NET缓存
- PetShop之ASP.NET缓存
- 《解剖PetShop》系列之四PetShop之ASP.NET缓存
- 《解剖PetShop》系列之四PetShop之ASP.NET缓存
- PetShop之ASP.NET缓存 《解剖PetShop》系列之四
- C#.NET:WCF系列笔记之通过代码部…
- C#.NET:WCF系列笔记之通信模式
- Oracle:常用命令整理汇总,不包含…
- C#.NET:WCF系列笔记之同步、异步
- .NET笔记系列:LAMBDA表达式常用写…
- C#.NET:petshop之membership(上篇…
- C#.NET:petshop之Profile(下篇)
- Battery相关数据的来源
- 路要怎么走?关于程序员成长的一点思考
- 几个数据库的取前20条数据SQL
- Android 4.1 Surface系统变化说明
- ps中的通道
- 使用jquery easyui时在ie中提示 "rowspan 为空或不是对象"
- 问题解决:The Web project XXX requires missing web components to run