roleManager 的 providers 的 add 元素(ASP.NET 设置架构)
向角色管理提供程序集合添加一个角色提供程序实例。
此元素是 .NET Framework 2.0 版中的新元素。
<add name="provider name"
type="string"
connectionStringName="string"
applicationName="string"
commandTimeout="number"
description="string"
cacheRefreshInterval="number"
scopeName="string"/>
特性和元素
以下几节描述了属性、子元素和父元素。
特性
特性 |
说明 |
---|---|
applicationName |
可选的 String 特性。 指定在数据源中存储角色名称的应用程序的名称。 该应用程序名称使得多个 ASP.NET 应用程序能够使用同一个数据库,而不会遇到不同应用程序存在重复角色名称的情况。 或者,通过指定相同的应用程序名称,多个 ASP.NET 应用程序可以使用相同的角色信息。 如果未指定此特性,则 .NET Framework 附带的角色提供程序使用 ApplicationName 属性的 ApplicationVirtualPath 值。 |
cacheRefreshInterval |
可选 Int32 特性。 指定缓存策略存储区数据的强制更新之间的分钟数;此属性仅适用于 AuthorizationStoreRoleProvider。 默认值为 60。 |
commandTimeout |
可选 Int32 特性。 指定在向角色管理器数据源发出的命令超时之前等待的时间(秒)。 SQL 提供程序在创建 SqlCommand 对象时,将使用该超时属性。 默认情况下 ASP.NET 配置中并未设置该特性。 因此,使用 ADO.NET 默认值 30 秒。 如果设置了该特性,则 SQL 提供程序对向数据库发出的所有 SQL 命令使用配置的超时值。 默认值为 30(ADO.NET 默认值)。 |
connectionStringName |
必选 String 特性。 指定在 <connectionStrings> 元素中定义的连接字符串的名称。 指定的连接字符串将由正在添加的提供程序使用。 |
description |
可选 String 特性。 指定角色提供程序实例的说明。 |
name |
必选 String 特性。 指定提供程序实例的名称。 此值可用于 <roleManager> 元素的 defaultProvider 特性,以便将提供程序实例标识为默认角色提供程序。 该提供程序的 name 还可用于在 Providers 集合中对该提供程序进行索引。 |
scopeName |
可选 String 特性。 指定提供程序实例应连接到的授权管理器策略存储区的安全范围;此属性仅适用于 AuthorizationStoreRoleProvider。 如果指定了 scopeName,提供程序将在连接到策略存储区时使用 applicationName 和 scopeName 的组合。 |
type |
必选 String 特性。 指定用于实现 RoleProvider 抽象基类的类型。 |
子元素
无。
父元素
元素 |
说明 |
---|---|
configuration |
指定公共语言运行时和 .NET Framework 应用程序所使用的每个配置文件中均需要的根元素。 |
system.web |
为 ASP.NET 配置节指定根元素。 |
roleManager |
为角色管理配置应用程序。 |
providers |
为角色管理定义一个角色提供程序的集合。 |
备注
add 元素向存储在 providers 元素中的角色管理提供程序集合添加一个角色提供程序实例。
providers 元素为角色管理定义一个角色提供程序集合。
有关访问和修改应用程序代码中 roleManager 元素的配置值的信息,请参见 RoleManagerSection、WindowsTokenRoleProvider、SqlRoleProvider 和 AuthorizationStoreRoleProvider。
默认配置
下面的默认 providers 元素是在 Machine.config 文件中配置的。
<roleManager>
<providers>
<add name="AspNetSqlRoleProvider" connectionStringName="LocalSqlServer" applicationName="/" type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<add name="AspNetWindowsTokenRoleProvider" applicationName="/" 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 设置架构)
roleManager 的 providers 的 clear 元素(ASP.NET 设置架构)
roleManager 的 providers 的 remove 元素(ASP.NET 设置架构)