配置web.config中的 membership

配置web.config

 

membership既然是用於成員資格管理,當然要求登錄驗證身份,所以首先加上一個forms驗證。

<authentication mode="Forms">
 <forms loginUrl="login.aspx" name=".aspxlogin"/>
</authentication>

同樣在system.web節點下添加membership節點。

<membership defaultProvider="AspNetSqlMembershipProvider" userIsOnlineTimeWindow="15" hashAlgorithmType="">
            <providers>
                <clear/>
                <add connectionStringName="ConnectionString" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="true" applicationName="/" requiresUniqueEmail="false" passwordFormat="Hashed" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="7" minRequiredNonalphanumericCharacters="1" passwordAttemptWindow="10" passwordStrengthRegularExpression="" name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
            </providers>
        </membership>

屬性解釋說明:

defaultProvider:提供程序的名稱。默認爲 AspNetSqlMembershipProvider。如果你有多個Provider的話,指定一個默認值是明智的做法
userIsOnlineTimeWindow:指定用戶在最近一次活動的日期/時間戳之後被視爲聯機的分鐘數。
hashAlgorithmType:用於哈希密碼的算法的標識符,或爲空以使用默認哈希算法。connectionStringName:membership數據庫的連接名稱。
enablePasswordRetrieval:指示當前成員資格提供程序是否配置爲允許用戶檢索其密碼。
enablePasswordReset:指示當前成員資格提供程序是否配置爲允許用戶重置其密碼。
requiresQuestionAndAnswer:指示默認成員資格提供程序是否要求用戶在進行密碼重置和檢索時回答密碼提示問題。
applicationName:應用程序的名稱。
requiresUniqueEmail:指示成員資格提供程序是否配置爲要求每個用戶名具有唯一的電子郵件地址。
passwordFormat:指示在成員資格數據存儲區中存儲密碼的格式。值可選Clear、Encrypted 和 Hashed。Clear 密碼以明文形式存儲,這可以提高存儲和檢索密碼的性能,但安全性較差,當數據源安全性受到威脅時此類密碼很容易被讀取。Encrypted 密碼在存儲時進行了加密,可以在比較或檢索密碼時進行解密。此類密碼在存儲和檢索時需要進行額外的處理,但比較安全,在數據源的安全性受到威脅時不容易被獲取。Hashed 密碼在存儲到數據庫時使用單向哈希算法和隨機生成的 salt 值進行哈希處理。在驗證某一密碼時,將用數據庫中的 salt 值對該密碼進行哈希計算以進行驗證。無法檢索哈希密碼。
maxInvalidPasswordAttempts:鎖定成員資格用戶前允許的無效密碼或無效密碼提示問題答案嘗試次數。
minRequiredPasswordLength:密碼所要求的最小長度。
minRequiredNonalphanumericCharacters:有效密碼中必須包含的最少特殊字符數。
passwordAttemptWindow:在鎖定成員資格用戶之前允許的最大無效密碼或無效密碼提示問題答案嘗試次數的分鐘數。這是爲了 防止不明來源反覆嘗試來猜測成員資格用戶的密碼或密碼提示問題答案的額外措施。
passwordStrengthRegularExpression:計算密碼的正則表達式。

爲membership配置web.config後,再配置其角色管理roleManager,也是在system.web下。

<roleManager enabled="true" cacheRolesInCookie="true">
     <providers>
     <clear/>
     <add connectionStringName="ConnectionString" applicationName="/" name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
     </providers>
</roleManager>

屬性解釋說明:
cacheRolesInCookie:指示當前用戶的角色是否已緩存在某個 Cookie 中。
當 CacheRolesInCookie 屬性在配置文件中設置爲 true 時,每個用戶的角色信息就會存儲在客戶端上的某個 Cookie 中。當角色管理檢查確定某個用戶是否屬於某個特定角色時,在調用角色提供程序在數據源中檢查角色列表之前,將先檢查角色 Cookie。該 Cookie 在客戶端上會動態更新以緩存最近已驗證的角色名稱。
web.config就配置差不多了。

經典論壇討論:
http://bbs.blueidea.com/thread-2740354-1-1.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章