ASPNETDB 表和视图(2) 用户成员资格和角色管理表(转载)

    用户成员资格表

    相信各位兄弟看了上面这张表,对大部分字段的意思都已了然于胸了。老小弟在此只为大家理一理剩下的“小部分字段”:              
    1.PasswordFormat:密码格式?其实是密码加密方式,其.NET类型为MembershipPasswordFormat枚举。下面列出MembershipPasswordFormat 枚举的3个值:
    Clear          不加密;
    Encrypted   使用web.config中machineKey指定的方法加密/解密;
    Hashed       使用单向 Salted 哈希技术进行加密(注意是单向加密,所以密码是无法检索的)。
    PasswordSalt:上面提到单向 Salted 哈希技术在加密时会随机生成一个Salt,该字段就是存放这个Salt值的。

    2.MobilePIN:手机PIN码,现在还不知道有什么用。参见基本用户表(aspnet_Users)中的MobileAlias字段。
 
    3.IsApproved:微软的定义是:表示是否可以对成员资格用户进行身份验证。
    我的理解是:是否对用户启用成员资格身份验证,在设置为不启用的情况下(其实就是禁用),即使用户提供了正确的用户名和密码也是无法成功登录的。

    4.FailedPasswordAttemptCount:连续登录失败的次数(用户名正确,密码无效),和web.config中设置的maxInvalidPasswordAttempts值相比较决定是否锁定用户成员资格帐户。       
    FailedPasswordAttemptWindowStart:记录首次登录失败的时间。

    5.FailedPasswordAnswerAttemptCount:连续回答密码问题失败的次数。
    FailedPasswordAnswerAttemptWindowStart :记录首次失败的时间,和web.config中设置的passwordAttemptWindow值相比较决定是否锁定用户成员资格帐户。

    下面再贴出web.config中有关用户成员资格的片段,所有以颜色Fuchsia标注的都是SqlMembershipProvider的属性。

ContractedBlock.gif ExpandedBlockStart.gif Web.Config
None.gif<system.web>
None.gif  dot.gif
None.gif  
<machineKey
None.gif     
validationKey="AutoGenerate,IsolateApps"
None.gif     decryptionKey
="AutoGenerate,IsolateApps" 
None.gif     validation
="SHA1" 
None.gif  
/>
None.gif  dot.gif
None.gif  
<connectionStrings>
None.gif    
<add name="SqlSrvConnectionString" connectionString="dot.gif"/>
None.gif  
</connectionStrings>
None.gif  dot.gif
None.gif  
<membership defaultProvider="SqlSrvMembershipProvider"> 
None.gif    
<providers>
None.gif      
<add name="SqlSrvMembershipProvider" 
None.gif        type
="System.Web.Security.SqlMembershipProvider"
None.gif        connectionStringName
="SqlSrvConnectionString" 
None.gif        applicationName
="WebShop" 
None.gif        commandTimeout
="30" 
None.gif        description
="SqlSrvMembershipProvider"
None.gif        enablePasswordRetrieval
="false"
None.gif        enablePasswordReset
="true"
None.gif        requiresQuestionAndAnswer
="true"
None.gif        requiresUniqueEmail
="false"
None.gif        passwordFormat
="Hashed"
None.gif        maxInvalidPasswordAttempts
="5"
None.gif        passwordAttemptWindow
="10"
None.gif        minRequiredPasswordLength
="6"
None.gif        minRequiredNonalphanumericCharacters
="0"
None.gif        passwordStrengthRegularExpression
=""/>
None.gif   
</providers>
None.gif  
</membership>
None.gif  dot.gif
None.gif
</system.web>

    角色表


    用户与角色关联表

    上面两个有关角色管理的表,更是一目了然。如果要多说几句的话,那就是通过aspnet_UsersInRoles这个关联表把用户表和角色表之间的多对多关系转化为两个一对多的关系,而这正是关系数据库所要求的。
    特别注意,如果你要为你的用户添加角色管理,在web.config中必须显式启用(enabled="true"),在默认情况下,用户角色是不启用。
web.config片段:
<system.web>
  ...
  <roleManager enabled="true">
    ...
  <roleManager/>
  ...
</system.web>

转载于:https://www.cnblogs.com/hide0511/archive/2006/10/22/536640.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值