SqlRoleProvider Klasse

Definition

Verwaltet die Speicherung von 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
SqlRoleProvider

Beispiele

Das folgende Beispiel zeigt die Web.config Datei für eine ASP.NET Anwendung, die für die Verwendung eines SqlRoleProvider-Objekts und des SqlMembershipProvider konfiguriert ist. Das authorization Element ist so konfiguriert, dass nur der Zugriff auf authentifizierte Benutzer in der Administratorrolle zulässig ist.

<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 Klassen Roles und RolePrincipal verwendet, um Rollenverwaltungsdienste für eine ASP.NET Anwendung mithilfe einer SQL Server-Datenbank bereitzustellen. Sie können die Rollenverwaltung verwenden, um unterschiedliche Autorisierungsebenen für Ihre Anwendung anzugeben.

Um die klasse SqlRoleProvider zu verwenden, müssen Sie zuerst die SQL Server Datenbank erstellen, die von der SqlRoleProvider verwendet wird. Um die datenbank zu erstellen, die von der SqlRoleProvider-Klasse verwendet wird, führen Sie die aspnet_regsql.exe ausführbare Datei aus, die sich im Ordner "C:\WINDOWS\Microsoft.NET\Framework\ versionNumber" befindet, und geben Sie die Option -Ar an (z. B. aspnet_regsql.exe -Ar). Die erstellte Datenbank wird als Aspnetdb bezeichnet. Alternativ können Sie aspnet_regsql.exe ausführen, um den GUI-Konfigurationsmodus abzurufen 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 Rechte zum Herstellen einer Verbindung mit der SQL Server-Datenbank verfügen.

Die Machine.config Datei ist mit einer SqlRoleProvider Instanz namens AspNetSqlProvider konfiguriert, die eine Verbindung mit dem SQL Server auf dem lokalen Computer herstellt. Sie können diese Instanz des Anbieters verwenden oder ihre 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 die SqlRoleProvider Verwendung derselben Datenbank- und Benutzerinformationen wie für die SqlMembershipProvider Verwendung einer einzelnen Datenbank für Authentifizierungs- und Autorisierungsinformationen konfigurieren. Um dieselbe Datenbank für Mitgliedschafts- und Rolleninformationen zu verwenden, führen Sie die aspnet_regsql.exe ausführbare Datei aus, und installieren Sie das Mitgliedschaftsfeature. Geben Sie dann dieselbe Verbindungszeichenfolge in Ihrer Konfiguration sowohl für Ihre SqlRoleProvider als auch für SqlMembershipProviderInstanzen an. Stellen Sie außerdem sicher, dass beide Anbieterinstanzen mit demselben ApplicationNamekonfiguriert sind.

Konstruktoren

Name Beschreibung
SqlRoleProvider()

Erstellt eine Instanz der SqlRoleProvider-Klasse.

Eigenschaften

Name Beschreibung
ApplicationName

Dient zum Abrufen oder Festlegen des Namens der Anwendung, für die Rolleninformationen gespeichert und abgerufen werden sollen.

Description

Ruft eine kurze, benutzerfreundliche Beschreibung ab, die für die Anzeige in Verwaltungstools oder anderen Benutzeroberflächen (UIs) geeignet ist.

(Geerbt von ProviderBase)
Name

Ruft den Anzeigenamen ab, der verwendet wird, um während der Konfiguration auf den Anbieter zu verweisen.

(Geerbt von ProviderBase)

Methoden

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

Fügt die angegebenen Benutzernamen zu jeder der angegebenen Rollen 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, in der der Benutzername den angegebenen Benutzernamen enthält, der übereinstimmen soll.

GetAllRoles()

Ruft eine Liste aller Rollen für die Anwendung ab.

GetHashCode()

Dient als Standardhashfunktion.

(Geerbt von Object)
GetRolesForUser(String)

Ruft eine Liste der Rollen ab, in denen sich ein Benutzer befindet.

GetType()

Ruft die Type der aktuellen Instanz ab.

(Geerbt von Object)
GetUsersInRole(String)

Ruft eine Liste der Benutzer in 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 soll nicht direkt aus Dem Code verwendet werden.

IsUserInRole(String, String)

Ruft einen Wert ab, der angibt, ob sich der angegebene Benutzer in der angegebenen Rolle befindet.

MemberwiseClone()

Erstellt eine flache Kopie der 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)

Gilt für:

Weitere Informationen