为角色管理配置应用程序。
此元素是 .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 应用程序时,Cookie 的过期日期和时间将在剩余时间不足 CookieTimeout 值的一半时自动更新。 有关更多信息,请参见 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 元素继承的特性。 有关更多信息,请参见 节元素所继承的常规特性。 | 
子元素
| 元素 | 说明 | 
|---|---|
| providers | 可选元素。 为角色管理定义一个角色提供程序的集合。 | 
父元素
| 元素 | 说明 | 
|---|---|
| configuration | 指定公共语言运行时和 .NET Framework 应用程序所使用的每个配置文件中均需要的根元素。 | 
| 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 信息服务 (IIS) 版本 5.0、5.1 或 6.0 .NET Framework 2.0 版 Microsoft Visual Studio 2003 或 Visual Studio 2005 | 
请参见
任务
参考
roleManager 的 providers 元素(ASP.NET 设置架构)