SqlRoleProvider Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Verwaltet die Speicherung der Rollenmitgliedschaftsinformationen für eine ASP.NET-Anwendung in einer SQL Server-Datenbank.
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
- Vererbung
Beispiele
Das folgende Beispiel zeigt die Web.config-Datei für eine ASP.NET-Anwendung, die für die Verwendung eines SqlRoleProvider -Objekts und der konfiguriert ist SqlMembershipProvider. Das authorization
-Element ist so konfiguriert, dass nur authentifizierten Benutzern in der Rolle "Administratoren" der Zugriff gewährt wird.
<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>
Hinweise
Diese Klasse wird von den Roles Klassen und RolePrincipal verwendet, um Rollenverwaltungsdienste für eine ASP.NET Anwendung mithilfe einer SQL Server-Datenbank bereitzustellen. Sie können die Rollenverwaltung verwenden, um verschiedene Autorisierungsebenen für Ihre Anwendung anzugeben.
Um die SqlRoleProvider -Klasse verwenden zu können, müssen Sie zuerst die SQL Server-Datenbank erstellen, die SqlRoleProvidervon verwendet wird. Um die von der SqlRoleProvider -Klasse verwendete Datenbank zu erstellen, führen Sie die aspnet_regsql.exe
ausführbare Datei aus, die sich im Ordner C:\WINDOWS\Microsoft.NET\Framework\ versionNumber
befindet, aspnet_regsql.exe -Ar
und geben Sie die -Ar
Option an (z. B. ). Die erstellte Datenbank heißt Aspnetdb. Alternativ können Sie aspnet_regsql.exe ausführen, um den GUI-Konfigurationsmodus zu pullen und alle ASP.NET Features zu konfigurieren.
Wenn der Rollenanbieter mit einer Verbindungszeichenfolge konfiguriert ist, die integrierte Sicherheit verwendet, muss das Prozesskonto der ASP.NET Anwendung über Berechtigungen zum Herstellen einer Verbindung mit der SQL Server-Datenbank verfügen.
Die Machine.config-Datei wird mit einer SqlRoleProvider Instanz namens AspNetSqlProvider konfiguriert, die eine Verbindung mit sql Server auf dem lokalen Computer herstellt. Sie können diese Instanz des Anbieters verwenden oder eine eigene in der Web.config-Datei für Ihre ASP.NET-Anwendung angeben. Um die AspNetSqlProvider-Instanz zu verwenden, geben Sie AspNetSqlProvider als in defaultProvider
Ihrer Konfiguration an.
Sie können konfigurieren, SqlRoleProvider um die gleichen Datenbank- und Benutzerinformationen wie die zu verwenden, SqlMembershipProvider um eine einzelne Datenbank für Authentifizierungs- und Autorisierungsinformationen zu verwenden. Um dieselbe Datenbank für Mitgliedschafts- und Rolleninformationen zu verwenden, führen Sie die ausführbare aspnet_regsql.exe aus, und installieren Sie das Mitgliedschaftsfeature. Geben Sie dann dieselbe Verbindungszeichenfolge in Ihrer Konfiguration sowohl für die SqlRoleProviderSqlMembershipProvider -Instanz als auch für die -Instanz an. Stellen Sie außerdem sicher, dass beide Anbieterinstanzen mit demselben ApplicationNamekonfiguriert sind.
Konstruktoren
SqlRoleProvider() |
Erstellt eine Instanz der SqlRoleProvider-Klasse. |
Eigenschaften
ApplicationName |
Ruft den Namen der Anwendung ab, für die Rolleninformationen gespeichert und abgerufen werden sollen, oder legt diesen fest. |
Description |
Ruft eine kurze, benutzerfreundliche Beschreibung ab, die für die Anzeige in Verwaltungstools oder anderen Benutzeroberflächen geeignet ist. (Geerbt von ProviderBase) |
Name |
Ruft den Anzeigennamen ab, der verwendet wird, um während der Konfiguration auf den Anbieter zu verweisen. (Geerbt von ProviderBase) |
Methoden
AddUsersToRoles(String[], String[]) |
Fügt jeder der angegebenen Rollen die angegebenen Benutzernamen hinzu. |
CreateRole(String) |
Fügt der Rollendatenbank eine neue Rolle hinzu. |
DeleteRole(String, Boolean) |
Entfernt eine Rolle aus der Rollendatenbank. |
Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
FindUsersInRole(String, String) |
Ruft ein Array von Benutzernamen in einer Rolle ab, die mit den angegebenen Benutzernamen übereinstimmen. |
GetAllRoles() |
Ruft eine Liste aller Rollen für die Anwendung ab. |
GetHashCode() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
GetRolesForUser(String) |
Ruft eine Liste der Rollen ab, die ein Benutzer innehat. |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
GetUsersInRole(String) |
Ruft eine Liste der Benutzer mit der angegebenen Rolle ab. |
Initialize(String, NameValueCollection) |
Initialisiert den SQL Server-Rollenanbieter mit den Eigenschaftswerten, die in der Konfigurationsdatei der ASP.NET-Anwendung angegeben sind. Diese Methode ist nicht für die direkte Verwendung im Code vorgesehen. |
IsUserInRole(String, String) |
Ruft einen Wert ab, der angibt, ob der angegebene Benutzer die angegebene Rolle innehat. |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
RemoveUsersFromRoles(String[], String[]) |
Entfernt die angegebenen Benutzernamen aus den angegebenen Rollen. |
RoleExists(String) |
Ruft einen Wert ab, der angibt, ob der angegebene Rollenname bereits in der Rollendatenbank vorhanden ist. |
ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |