SqlRoleProvider Třída

Definice

Spravuje ukládání informací o členství rolí pro ASP.NET aplikaci v SQL Server databázi.

public ref class SqlRoleProvider : System::Web::Security::RoleProvider
public class SqlRoleProvider : System.Web.Security.RoleProvider
type SqlRoleProvider = class
    inherit RoleProvider
Public Class SqlRoleProvider
Inherits RoleProvider
Dědičnost
SqlRoleProvider

Příklady

Následující příklad ukazuje soubor Web.config aplikace ASP.NET nakonfigurovaný tak, aby používal objekt SqlRoleProvider a SqlMembershipProvider. Tento authorization prvek je nakonfigurovaný tak, aby umožňoval přístup pouze ověřeným uživatelům v roli 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>

Poznámky

Tuto třídu používají třídy Roles a RolePrincipal k poskytování služeb správy rolí pro aplikaci ASP.NET pomocí databáze SQL Server. Správu rolí můžete použít k určení různých úrovní autorizace pro vaši aplikaci.

Chcete-li použít třídu SqlRoleProvider, musíte nejprve vytvořit databázi SQL Server používanou SqlRoleProvider. Pokud chcete vytvořit databázi používanou třídou SqlRoleProvider, spusťte spustitelný soubor aspnet_regsql.exe nalezený ve složce C:\WINDOWS\Microsoft.NET\Framework\ versionNumber a zadejte možnost -Ar (například aspnet_regsql.exe -Ar). Vytvořená databáze se nazývá Aspnetdb. Případně spusťte aspnet_regsql.exe, abyste si stáhli režim konfigurace grafického uživatelského rozhraní a zvolili konfiguraci všech funkcí ASP.NET.

Pokud je zprostředkovatel role nakonfigurovaný s připojovací řetězec, který používá integrované zabezpečení, musí mít účet procesu aplikace ASP.NET oprávnění pro připojení k databázi SQL Server.

Soubor Machine.config je nakonfigurovaný s instancí SqlRoleProvider s názvem AspNetSqlProvider, která se připojuje k SQL Server na místním počítači. Tuto instanci poskytovatele můžete použít nebo zadat vlastní v souboru Web.config pro vaši aplikaci ASP.NET. Chcete-li použít instanci AspNetSqlProvider, zadejte AspNetSqlProvider jako defaultProvider v konfiguraci.

Můžete nakonfigurovat SqlRoleProvider , aby používala stejnou databázi a informace o uživatelích, jako SqlMembershipProvider je použití jedné databáze k ověřování a autorizačním informacím. Pokud chcete použít stejnou databázi pro informace o členství a roli, spusťte spustitelný soubor aspnet_regsql.exe a nainstalujte funkci členství. Potom zadejte stejný připojovací řetězec v konfiguraci pro instance SqlRoleProvider i SqlMembershipProvider. Také se ujistěte, že obě instance zprostředkovatele jsou nakonfigurované se stejným ApplicationName.

Konstruktory

Name Description
SqlRoleProvider()

Vytvoří instanci objektu SqlRoleProvider třídy.

Vlastnosti

Name Description
ApplicationName

Získá nebo nastaví název aplikace, pro kterou se mají ukládat a načítat informace o rolích.

Description

Získá stručný popis vhodný pro zobrazení v nástrojích pro správu nebo jiných uživatelských rozhraních (UI).

(Zděděno od ProviderBase)
Name

Získá popisný název použitý k odkazování na zprostředkovatele během konfigurace.

(Zděděno od ProviderBase)

Metody

Name Description
AddUsersToRoles(String[], String[])

Přidá zadaná uživatelská jména do každé ze zadaných rolí.

CreateRole(String)

Přidá do databáze rolí novou roli.

DeleteRole(String, Boolean)

Odebere roli z databáze rolí.

Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

(Zděděno od Object)
FindUsersInRole(String, String)

Získá pole uživatelských jmen v roli, kde uživatelské jméno obsahuje zadané uživatelské jméno, které se má shodovat.

GetAllRoles()

Získá seznam všech rolí pro aplikaci.

GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetRolesForUser(String)

Získá seznam rolí, ve které je uživatel.

GetType()

Získá Type aktuální instance.

(Zděděno od Object)
GetUsersInRole(String)

Získá seznam uživatelů v zadané roli.

Initialize(String, NameValueCollection)

Inicializuje SQL Server zprostředkovatele role s hodnotami vlastností zadanými v konfiguračním souboru ASP.NET aplikace. Tato metoda není určená k použití přímo z kódu.

IsUserInRole(String, String)

Získá hodnotu určující, zda zadaný uživatel je v zadané roli.

MemberwiseClone()

Vytvoří mělkou kopii aktuálního Object.

(Zděděno od Object)
RemoveUsersFromRoles(String[], String[])

Odebere zadaná uživatelská jména ze zadaných rolí.

RoleExists(String)

Získá hodnotu určující, zda zadaný název role již existuje v databázi role.

ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Platí pro

Viz také