(视频)玩转Membership视频之三:web.config个性化Membership

  
玩转Membership之三
----- web.config个性化Membership
默认的Membership配置信息和数据库链接字符串存储在machine.config中。
路径如下:C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/CONFIG
machine.config中对Membership的配置关键代码如下:
 
< connectionStrings >
                   
< add  name ="LocalSqlServer"  connectionString ="data source=.SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true"  providerName ="System.Data.SqlClient" />
         
</ connectionStrings >
 
                   
< membership >
                            
< providers >
                                     
< add  name ="AspNetSqlMembershipProvider"  type ="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"  connectionStringName ="LocalSqlServer"  enablePasswordRetrieval ="false"  enablePasswordReset ="true"  requiresQuestionAndAnswer ="true"  applicationName ="/"  requiresUniqueEmail ="false"  passwordFormat ="Hashed"  maxInvalidPasswordAttempts ="5"  minRequiredPasswordLength ="7"  minRequiredNonalphanumericCharacters ="1"  passwordAttemptWindow ="10"  passwordStrengthRegularExpression ="" />
                            
</ providers >
                   
</ membership >
 
配置Membership处理程序常用的参数如下:
name
指定Membership处理程序的名字
type
指定Membership处理程序的类型,ASP.NET提供了两种类型,一种是SqlMembershipProvider,另外一种是ActiveDirectoryMembershipProvider。后者使用活动目录服务器的方式进行验证并提供Membership的相应功能。你也可以使用第三方提供的类型进行扩展
applicationName
指定web应用程序的名称。如果你多个web应用程序使用了同一个Membership数据库的话,这个属性就特别有用。这个时候你可以给每一个web应用程序一个不同的名字,那么就可以将不同web应用程序的数据区分开来。
connectionStringName
指定使用的连接字符串的名字
description
针对MembershipProvider的描述信息,可选
passwordFormat
设置密码存储在数据库中的方式,一共有三种方式,第一种是:Clear,密码不加密以明文的方式存储在数据库中;第二种方式是Encrypted,使用指定的computer key对密码进行加密存储;第三种方式是Hashed,密码经过hash转换之后进行存储,经过hash处理之后的密码同样也是加密的,然而和第二种方式不同的是,它是不可逆的,也就是说经过hash处理之后的密码是无法获取到其明文的,只能被重置。系统默认方式是第三种hashed方式
minRequiredPasswordLength
指定密码的最小长度
minRequiredNonalphanumericCharacters
指定密码至少要包含非数字和字母的字符个数
maxInvalidPasswordAttempts
指定用户登陆时输入错误密码的次数上限,超过这个数目,帐户将被锁定。默认是5
passwordAttemptWindow
指定因用户连续输入错误密码而被锁定后的重置时间间隔。比如说,将passwordAttemptWindow设置为30分钟,那么30分钟后,被锁定的帐号将被解锁
enablePasswordReset
设置密码是否可以被重置
enablePasswordRetrieval
设置密码是否可以被取回。比如在忘记密码的情况下,可以通过邮件的方式取回密码。需要注意的是,如果密码通过hash进行加密,则不能被取回,只能重置
requiresQuestionAndAnswer
是否需要设置安全问题和答案
requiresUniqueEmail
设置用户的邮箱是否需要唯一
 
 
一般情况下,尽量不要去改动machine.config,我们针对应用程序做的配置,可以在web.config中进行更改,如下:
     < membership  defaultProvider ="MyMembershipProvider" >
      
< providers >
        
< add
name ="MyMembershipProvider"
type
="System.Web.Security.SqlMembershipProvider"
connectionStringName
="LocalSqlServer"
requiresQuestionAndAnswer
="false"
minRequiredPasswordLength
="1"
minRequiredNonalphanumericCharacters
="0"   />
      
</ providers >
    
</ membership >
                                                    
需要注意的是,上面的name、type和connectionStringName是必须的
 
本部分内容我们通过在Web.config中重写< membership>标签,实现个性化用户注册的功能
具体操作过程请参看视频演示,下面是视频演示的关键截图,如果您对此部分内容已经了然于胸,可以跳过本部分的学习,谢谢
 
1.Machine.config一览
 
2.web.config中的设置
 
3.注册新用户测试
玩转Membership视频之三:web.config个性化Membership(第1部分,共4部分)
玩转Membership视频之三:web.config个性化Membership(第2部分,共4部分)
玩转Membership视频之三:web.config个性化Membership(第3部分,共4部分)
玩转Membership视频之三:web.config个性化Membership(第4部分,共4部分)
 
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值