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>

項目資訊

組態區段處理常式

RoleManagerSection

組態成員

RoleManager

可設定的位置

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:使用位置設定來設定特定的目錄

HOW TO:鎖定 ASP.NET 組態設定

參考

system.web 項目 (ASP.NET 設定結構描述)

roleManager 的 providers 項目 (ASP.NET 設定結構描述)

configuration 項目 (一般設定結構描述)

System.Configuration

System.Web.Configuration

RoleManagerSection

RoleManager

概念

認識角色管理

保護 ASP.NET 組態

ASP.NET 組態案例

其他資源

一般組態設定 (ASP.NET)

ASP.NET 組態設定

ASP.NET 參考

ASP.NET 網站管理

ASP.NET 組態 API