SqlRoleProvider Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
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) |