Sdílet prostřednictvím


SqlRoleProvider Třída

Definice

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

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 tak, aby používala SqlRoleProvider objekt a SqlMembershipProvider. Element authorization je nakonfigurovaný tak, aby povoloval 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í Roles třídy a RolePrincipal k poskytování služeb správy rolí pro aplikaci ASP.NET pomocí databáze SYSTÉMU SQL Server. Správu rolí můžete použít k určení různých úrovní autorizace pro vaši aplikaci.

Pokud chcete použít SqlRoleProvider třídu , musíte nejprve vytvořit databázi SQL Serveru, kterou SqlRoleProviderpoužívá . Pokud chcete vytvořit databázi používanou SqlRoleProvider třídou , spusťte aspnet_regsql.exe spustitelný soubor 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ě můžete spuštěním aspnet_regsql.exe načíst režim konfigurace grafického uživatelského rozhraní a zvolit konfiguraci všech funkcí ASP.NET.

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

Soubor Machine.config je nakonfigurován s SqlRoleProvider instancí s názvem AspNetSqlProvider, která se připojuje k SQL Serveru na místním počítači. Můžete použít tuto instanci zprostředkovatele nebo zadat vlastní v souboru Web.config pro vaši ASP.NET aplikaci. Pokud chcete použít instanci AspNetSqlProvider, jako ve své konfiguraci zadejte AspNetSqlProvider defaultProvider .

Můžete nakonfigurovat SqlRoleProvider tak, aby používala stejnou databázi a informace o uživateli jako SqlMembershipProvider , aby se k ověřování a autorizačním informacím používala jedna databáze. 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 v konfiguraci zadejte stejný připojovací řetězec pro instance SqlRoleProvider i SqlMembershipProvider . Také se ujistěte, že obě instance zprostředkovatele jsou nakonfigurované se stejnou ApplicationNameinstancí .

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 roli.

Description

Získá stručný 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 odkaz na zprostředkovatele 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á novou roli do databáze rolí.

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 ke shodě.

GetAllRoles()

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

GetHashCode()

Slouží jako výchozí hashovací funkce.

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

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

GetType()

Type Získá z aktuální instance.

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

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

Initialize(String, NameValueCollection)

Inicializuje zprostředkovatele role SQL Server pomocí hodnot vlastností zadaných 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 označující, zda je zadaný uživatel v zadané roli.

MemberwiseClone()

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

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

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

RoleExists(String)

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

ToString()

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

(Zděděno od Object)

Platí pro

Viz také