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 元素的配置值的信息,请参见 RoleManagerSectionWindowsTokenRoleProviderSqlRoleProviderAuthorizationStoreRoleProvider

默认配置

下面的默认 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>

元素信息

配置节处理程序

RoleManagerSection

配置成员

Add

可配置的位置

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 配置设置

参考

roleManager 的 providers 元素(ASP.NET 设置架构)

roleManager 的 providers 的 clear 元素(ASP.NET 设置架构)

roleManager 的 providers 的 remove 元素(ASP.NET 设置架构)

roleManager 元素(ASP.NET 设置架构)

system.web 元素(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