为角色管理配置应用程序。
此元素是 .NET Framework 2.0 版中的新元素。
configuration 元素(常规设置架构)
system.web 元素(ASP.NET 设置架构)
roleManager 元素(ASP.NET 设置架构)
<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>
配置节处理程序 |
RoleManagerSection |
配置成员 |
|
可配置的位置 |
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 |
任务
如何:使用位置设置配置特定目录
如何:锁定 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