roleManager 項目 (ASP.NET 設定結構描述)
設定角色管理的應用程式。
這個項目是 .NET Framework 2.0 版中新增的項目。
<roleManager
cacheRolesInCookie="true|false"
cookieName="name"
cookiePath="/"
cookieProtection="All|Encryption|Validation|None"
cookieRequireSSL="true|false "
cookieSlidingExpiration="true|false "
cookieTimeout="number of minutes"
createPersistentCookie="true|false"
defaultProvider="provider name"
domain="cookie domain">
enabled="true|false"
maxCachedResults="maximum number of role names cached"
<providers>...</providers>
</roleManager>
屬性和項目
下列小節描述本小節所述的屬性、子項目和父項目。
屬性
屬性 |
描述 |
---|---|
cacheRolesInCookie |
選擇性 Boolean 屬性。 指定當驗證使用者是否為特定角色時,在使用角色提供者檢查資料來源的角色清單之前,會先檢查 Cookie。 如果為 true,便會將目前使用者的角色名稱清單快取至 Cookie 中,否則為 false。 預設值為 false。 |
cookieName |
選擇性 String 屬性。 指定儲存角色名稱的 Cookie 名稱。 預設值為 ".ASPXROLES"。 |
cookiePath |
選擇性 String 屬性。 角色名稱 Cookie 的路徑。 預設值為 "/"。 |
cookieProtection |
選擇性 CookieProtection 屬性。 指定其中一個 CookieProtection 列舉值。 預設為 All 值。 |
cookieRequireSSL |
選擇性 Boolean 屬性。 指定角色名稱 Cookie 傳送至伺服器時是否需要 SSL。 如果設定為 true,角色名稱 Cookie 就需要以 SSL 傳送至伺服器。 預設值為 false。 |
cookieSlidingExpiration |
選擇性 Boolean 屬性。 指定是否定期重設角色名稱 Cookie 的到期日和時間。 如果設定為 true,Cookie 到期日就會在最初設定為目前的日期和時間,再加上 CookieTimeout 值 (以分鐘為單位)。 使用者繼續使用 ASP.NET 應用程式時,如果剩餘的 CookieTimeout 值不到一半,就會自動更新 Cookie 的到期日和時間。 如需詳細資訊,請參閱 Expires。 預設值為 true。 |
cookieTimeout |
選擇性 Int32 屬性。 角色名稱 Cookie 過期前的分鐘數。 預設為 "30" 分鐘。 |
createPersistentCookie |
選擇性 Boolean 屬性。 指定角色名稱 Cookie 是否為工作階段 Cookie,也就是說,在關閉瀏覽器時就會失去此 Cookie。 當設定為 true 時,角色名稱 Cookie 即為持續性 Cookie,可以在多個瀏覽器工作階段中使用。 持續性 Cookie 的到期日和時間會設定為目前的日期和時間,再加上 CookieTimeout 值 (以分鐘為單位)。 預設值為 false。 |
defaultProvider |
選擇性 String 屬性。 預設角色提供者的名稱。 如需詳細資訊,請參閱 Provider。 預設值為 "AspNetSqlRoleProvider"。 |
domain |
選擇性 String 屬性。 指定角色名稱 Cookie 的 Domain 值。 預設值為 HttpCookie 屬性預設,也就是空字串 ("")。 |
enabled |
選擇性 Boolean 屬性。 指定是否啟用角色管理。 當設定為 true 時,便會啟用角色管理。 在 Machine.config 檔中的預設值為 false。 |
maxCachedResults |
選擇性 Int32 屬性。 指定角色 Cookie 中快取之角色名稱的最大數目。 預設值為 25。 |
繼承的屬性 |
選擇性屬性。 所有 section 項目都會繼承的屬性。 如需詳細資訊,請參閱 Section 項目繼承的一般屬性。 |
子項目
項目 |
描述 |
---|---|
providers |
選擇性項目。 為角色管理定義角色提供者的集合。 |
父項目
項目 |
描述 |
---|---|
configuration |
指定 Common Language Runtime 和 .NET Framework 應用程式所使用之每個組態檔中需要的根項目 (Root Element)。 |
system.web |
指定 ASP.NET 組態區段的根項目。 |
備註
roleManager 項目設定角色管理的應用程式。
如需存取和修改應用程式程式碼中 roleManager 項目組態值的詳細資訊,請參閱 RoleManagerSection。
預設組態
下列預設 roleManager 項目不會明確地設定在 Machine.config 檔案或根 Web.config 檔案中。 然而,應用程式傳回的是預設組態。 提供者會在 Machine.config 檔中明確設定。
<roleManager
enabled="false"
cacheRolesInCookie="false"
cookieName=".ASPXROLES"
cookieTimeout="30"
cookiePath="/"
cookieRequireSSL="false"
cookieSlidingExpiration="true"
cookieProtection="All"
defaultProvider="AspNetSqlRoleProvider"
createPersistentCookie="false"
maxCachedResults="25">
<providers>
<clear />
<add
connectionStringName="LocalSqlServer"
applicationName="/"
name="AspNetSqlRoleProvider"
type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<add
applicationName="/"
name="AspNetWindowsTokenRoleProvider"
type="System.Web.Security.WindowsTokenRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
</roleManager>
範例
下列程式碼範例示範如何設定 ASP.NET 應用程式,以使用 SqlRoleProvider 類別儲存和擷取角色資訊。
<configuration>
<system.web>
<roleManager defaultProvider="SqlProvider"
enabled="true"
cacheRolesInCookie="true"
cookieName=".ASPROLES"
cookieTimeout="30"
cookiePath="/"
cookieRequireSSL="false"
cookieSlidingExpiration="true"
cookieProtection="All" >
<providers>
<add
name="SqlProvider"
type="System.Web.Security.SqlRoleProvider"
connectionStringName="SqlServices"
applicationName="SampleApplication" />
</providers>
</roleManager>
</system.web>
</configuration>
項目資訊
組態區段處理常式 |
|
組態成員 |
|
可設定的位置 |
Machine.config 根層次的 Web.config 應用程式層級的 Web.config |
需求 |
Microsoft Internet Information Services (IIS) 5.0、5.1 或 6.0 版 .NET Framework 2.0 版 Microsoft Visual Studio 2003 或 Visual Studio 2005 |
請參閱
工作
How to: Configure Specific Folders Using Location Settings
How to: Lock ASP.NET Configuration Settings
參考
system.web 項目 (ASP.NET 設定結構描述)
roleManager 的 providers 項目 (ASP.NET 設定結構描述)
概念
Understanding ASP.NET Role Management