SqlRoleProvider 类

.NET Framework 类库 
SqlRoleProvider 类 

注意:此类在 .NET Framework 2.0 版中是新增的。

对 ASP.NET 应用程序的角色成员资格信息在 SQL Server 数据库中的存储进行管理。

命名空间:System.Web.Security
程序集:System.Web(在 system.web.dll 中)

<script type="text/Javascript"> var ExpCollDivStr = ExpCollDivStr; ExpCollDivStr = ExpCollDivStr + "ctl00_LibFrame_ctl06605cca5,"; var ExpCollImgStr = ExpCollImgStr; ExpCollImgStr = ExpCollImgStr + "ctl00_LibFrame_ctl06img,"; </script> 语法语法
Visual Basic(声明)
Public Class SqlRoleProvider
    Inherits RoleProvider
Visual Basic(用法)
Dim instance As SqlRoleProvider
C#
public class SqlRoleProvider : RoleProvider
C++
public ref class SqlRoleProvider : public RoleProvider
J#
public class SqlRoleProvider extends RoleProvider
JScript
public class SqlRoleProvider extends RoleProvider
<script type="text/Javascript"> var ExpCollDivStr = ExpCollDivStr; ExpCollDivStr = ExpCollDivStr + "ctl00_LibFrame_ctl130b36256,"; var ExpCollImgStr = ExpCollImgStr; ExpCollImgStr = ExpCollImgStr + "ctl00_LibFrame_ctl13img,"; </script> 备注备注

此类由 RolesRolePrincipal 类使用,用于为使用 SQL Server 数据库的 ASP.NET 应用程序提供角色管理服务。可以使用角色管理为应用程序指定不同的授权级别。

要使用 SqlRoleProvider 类,您必须首先创建 SqlRoleProvider 使用的 SQL Server 数据库。要创建 SqlRoleProvider 类使用的数据库,请运行 aspnet_regsql.exe 可执行文件(可在 C:/WINDOWS/Microsoft.NET/Framework/ versionNumber 文件夹中找到),并指定 -Ar 选项(例如 aspnet_regsql.exe -Ar)。所创建的数据库名为 Aspnetdb。或者,运行 Aspnet_regsql.exe 启动图形用户界面配置模式并选择配置所有 ASP.NET 功能。

如果使用指定了集成安全性的连接字符串对角色提供程序进行配置,则 ASP.NET 应用程序的进程帐户必须具有连接到 SQL Server 数据库的权限。

Machine.config 文件是利用名为 AspNetSqlProvider 的 SqlRoleProvider 实例配置的,该实例连接到本地计算机上的 SQL Server。您可以使用此提供程序实例,也可以在 ASP.NET 应用程序的 Web.config 文件中指定自己的实例。要使用 AspNetSqlProvider 实例,请在您的 roleManager 配置中将 AspNetSqlProvider 指定为 defaultProvider

可以将 SqlRoleProvider 配置为与 SqlMembershipProvider 使用相同的数据库和用户信息,以便使用一个数据库即可获得身份验证和授权信息。如要使用同一个数据库获取成员资格和角色信息,请运行 aspnet_regsql.exe 可执行文件,然后安装成员资格功能。然后,在配置中为 SqlRoleProviderSqlMembershipProvider 实例指定同样的连接字符串。另外,还要确保利用相同的 ApplicationName 来配置这两个提供程序实例。

<script type="text/Javascript"> var ExpCollDivStr = ExpCollDivStr; ExpCollDivStr = ExpCollDivStr + "ctl00_LibFrame_ctl20a65e175,"; var ExpCollImgStr = ExpCollImgStr; ExpCollImgStr = ExpCollImgStr + "ctl00_LibFrame_ctl20img,"; </script> 示例示例

下面的示例演示了配置为使用 SqlRoleProvider 对象和 SqlMembershipProvider 的 ASP.NET 应用程序的 Web.config 文件。authorization 元素配置为只允许经过身份验证且角色为 Administrators 的用户进行访问。

<configuration>
  <connectionStrings>
    <add name="SqlServices" connectionString="Data Source=localhost;Integrated Security=SSPI;Initial Catalog=aspnetdb;" />
  </connectionStrings>
  <system.web>
    <authentication mode="Forms" >
      <forms loginUrl="logincs.aspx"
      name=".ASPXFORMSAUTH" />
    </authentication>
    <authorization>
      <deny users="?" />
         <allow roles="Administrators" />
         <deny users="*" />
    </authorization>
    <membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="15">
      <providers>
        <add 
          name="SqlProvider" 
          type="System.Web.Security.SqlMembershipProvider" 
          connectionStringName="SqlServices"
          enablePasswordRetrieval="false"
          enablePasswordReset="false"
          requiresQuestionAndAnswer="false" 
          passwordFormat="Hashed" 
          applicationName="SampleApplication" />
      </providers>
    </membership>
    <roleManager defaultProvider="SqlProvider" 
      enabled="true"
      cacheRolesInCookie="true"
      cookieName=".ASPROLES"
      cookieTimeout="30"
      cookiePath="/"
      cookieRequireSSL="true"
      cookieSlidingExpiration="true"
      cookieProtection="All" >
      <providers>
        <add
          name="SqlProvider"
          type="System.Web.Security.SqlRoleProvider"
          connectionStringName="SqlServices" 
          applicationName="SampleApplication" />
      </providers>
    </roleManager>
  </system.web>
</configuration>
<script type="text/Javascript"> var ExpCollDivStr = ExpCollDivStr; ExpCollDivStr = ExpCollDivStr + "ctl00_LibFrame_ctl23b8f2521,"; var ExpCollImgStr = ExpCollImgStr; ExpCollImgStr = ExpCollImgStr + "ctl00_LibFrame_ctl23img,"; </script> .NET Framework 安全性.NET Framework 安全性
<script type="text/Javascript"> var ExpCollDivStr = ExpCollDivStr; ExpCollDivStr = ExpCollDivStr + "ctl00_LibFrame_ctl27f29ffec,"; var ExpCollImgStr = ExpCollImgStr; ExpCollImgStr = ExpCollImgStr + "ctl00_LibFrame_ctl27img,"; </script> 继承层次结构继承层次结构
System.Object
   System.Configuration.Provider.ProviderBase
     System.Web.Security.RoleProvider
       System.Web.Security.SqlRoleProvider
<script type="text/Javascript"> var ExpCollDivStr = ExpCollDivStr; ExpCollDivStr = ExpCollDivStr + "ctl00_LibFrame_ctl31b2ef1dd,"; var ExpCollImgStr = ExpCollImgStr; ExpCollImgStr = ExpCollImgStr + "ctl00_LibFrame_ctl31img,"; </script> 线程安全线程安全
此类型的任何公共静态(Visual Basic 中的 Shared)成员都是线程安全的,但不保证所有实例成员都是线程安全的。
<script type="text/Javascript"> var ExpCollDivStr = ExpCollDivStr; ExpCollDivStr = ExpCollDivStr + "ctl00_LibFrame_ctl3209b0e99,"; var ExpCollImgStr = ExpCollImgStr; ExpCollImgStr = ExpCollImgStr + "ctl00_LibFrame_ctl32img,"; </script> 平台平台

Windows 98、Windows 2000 SP4、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition

.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求

<script type="text/Javascript"> var ExpCollDivStr = ExpCollDivStr; ExpCollDivStr = ExpCollDivStr + "ctl00_LibFrame_ctl34c83032e,"; var ExpCollImgStr = ExpCollImgStr; ExpCollImgStr = ExpCollImgStr + "ctl00_LibFrame_ctl34img,"; </script> 版本信息版本信息
.NET Framework
受以下版本支持:2.0
<script type="text/Javascript"> var ExpCollDivStr = ExpCollDivStr; ExpCollDivStr = ExpCollDivStr + "ctl00_LibFrame_ctl3560b864c,"; var ExpCollImgStr = ExpCollImgStr; ExpCollImgStr = ExpCollImgStr + "ctl00_LibFrame_ctl35img,"; </script> 请参见请参见
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值