SqlRoleProvider Třída

Definice

Spravuje úložiště informací o členství rolí pro ASP.NET aplikaci v databázi SQL Server.

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 pro ASP.NET aplikaci nakonfigurovanou pro použití objektu SqlRoleProvider a objektu SqlMembershipProvider. Element authorization 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

Tato třída je používána třídami Roles k RolePrincipal poskytování služeb pro správu rolí pro ASP.NET aplikaci pomocí SQL Server databáze. Správu rolí můžete použít k určení různých úrovní autorizace pro vaši aplikaci.

Chcete-li použít SqlRoleProvider třídu, musíte nejprve vytvořit SQL Server databázi, kterou SqlRoleProviderpoužívá . Chcete-li vytvořit databázi používanou SqlRoleProvider třídou, spusťte aspnet_regsql.exe spustitelný soubor nalezený ve složce C:\WINDOWS\Microsoft.NET\Framework\ versionNumber a zadejte -Ar možnost (například aspnet_regsql.exe -Ar). Vytvořená databáze se nazývá Aspnetdb. Případně spusťte aspnet_regsql.exe, abyste vytá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ím řetězcem, 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 SqlRoleProvider instancí 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živateli jako databáze SqlMembershipProvider , abyste mohli použít jednu databázi 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í. Pak zadejte stejný připojovací řetězec v konfiguraci pro vaše SqlRoleProvider i SqlMembershipProvider instance. Ujistěte se také, že obě instance zprostředkovatele jsou nakonfigurované se stejným ApplicationName.

Konstruktory

SqlRoleProvider()

Vytvoří instanci objektu SqlRoleProvider třídy.

Vlastnosti

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ý, přátelský popis vhodný pro zobrazení v nástrojích pro správu nebo jiných uživatelských rozhraní (UI).

(Zděděno od ProviderBase)
Name

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

(Zděděno od ProviderBase)

Metody

AddUsersToRoles(String[], String[])

Přidá zadaná uživatelská jména ke 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čí, zda se zadaný objekt rovná 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()

Type Získá aktuální instanci.

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

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

Initialize(String, NameValueCollection)

Inicializuje poskytovatele role SQL Server hodnotami vlastností zadanými v konfiguračním souboru ASP.NET aplikace. Tato metoda není určena 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ří použádnou kopii aktuálního souboru 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é