AuthorizationStoreRoleProvider Klasse

Definition

Verwaltet die Speicherung von Rollenmitgliedschaftsinformationen für eine ASP.NET Anwendung in einem Autorisierungs-Manager-Richtlinienspeicher, entweder in einer XML-Datei, in einer Active Directory oder auf einem Active Directory Anwendungsmodusserver.

public ref class AuthorizationStoreRoleProvider : System::Web::Security::RoleProvider
public class AuthorizationStoreRoleProvider : System.Web.Security.RoleProvider
type AuthorizationStoreRoleProvider = class
    inherit RoleProvider
Public Class AuthorizationStoreRoleProvider
Inherits RoleProvider
Vererbung
AuthorizationStoreRoleProvider

Beispiele

Das folgende Codebeispiel zeigt eine Web.config Datei, die für die AuthorizationStoreRoleProvider Rollenverwaltung verwendet werden soll.

<configuration>
  <connectionStrings>
    <add name="AuthorizationServices" connectionString="msxml://~\App_Data\SampleStore.xml" />
  </connectionStrings>

  <system.web>

    <authentication mode="Windows" />
    <identity impersonate="true" />

    <roleManager defaultProvider="AuthorizationStoreRoleProvider"
      enabled="true"
      cacheRolesInCookie="true"
      cookieName=".ASPROLES"
      cookieTimeout="30"
      cookiePath="/"
      cookieRequireSSL="false"
      cookieSlidingExpiration="true"
      cookieProtection="All" >
      <providers>
        <clear />
          <add
            name="AuthorizationStoreRoleProvider"
            type="System.Web.Security.AuthorizationStoreRoleProvider"
            connectionStringName="AuthorizationServices"
            applicationName="SampleApplication"
            cacheRefreshInterval="60"
            scopeName="" />
      </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 eines Autorisierungs-Manager-Speichers bereitzustellen. Sie können die Rollenverwaltung verwenden, um unterschiedliche Autorisierungsebenen für Ihre Anwendung anzugeben. Auf den Autorisierungs-Manager kann über die Microsoft Management Console zugegriffen werden.

Das objekt AuthorizationStoreRoleProvider funktioniert sowohl mit Windows-Authentifizierung als auch mit Formularauthentifizierungsmodi.

Sie können das objekt AuthorizationStoreRoleProvider so konfigurieren, dass entweder eine lokale XML-Datei oder ein Active Directory- oder Active Directory Anwendungsmodusserver (ADAM) verwendet wird. Wenn Sie eine lokale Datei verwenden, sollte die Verbindungszeichenfolge wie im folgenden Beispiel aussehen.

msxml://<path to xml file>

Wenn die lokale Datei in der Verzeichnisstruktur einer ASP.NET Webanwendung gespeichert ist, können Sie das Tildezeichen ("~") verwenden, um das Stammverzeichnis anzugeben. Um beispielsweise anzugeben, dass die lokale Datei im Datenverzeichnis der Webanwendung gespeichert ist, würden Sie eine Verbindungszeichenfolge ähnlich dem folgenden Beispiel verwenden.

msxml://~\App_Data\datafilename.xml

Important

Das Speichern einer XML-Datendatei im Webanwendungsverzeichnis ist eine potenzielle Sicherheitsrisiken. Standardmäßig werden IN IIS XML-Datendateien im Web bereitgestellt. Um die Sicherheit bei der Verwendung einer lokalen Datendatei in einer ASP.NET-Anwendung zu verbessern, sollten Sie die Datendatei im Verzeichnis App_Data speichern. Im Verzeichnis gespeicherte App_Data Dateien werden nicht im Web bereitgestellt.

Wenn Sie einen Active Directory- oder ADAM-Server für den Richtlinienspeicher verwenden, sollte Ihr Verbindungszeichenfolge dem folgenden Beispiel ähneln.

msldap://myserver/CN=MyAzManStore,OU=MyOU,DC=MyDomain,DC=MyDC,DC=Com

Die in der Dokumentation für AuthorizationStoreRoleProvider Objektmethoden aufgeführten Ausnahmen sind die Ausnahmen, die AuthorizationStoreRoleProvider vom Objekt ausgelöst werden. Da der Anbieter die zugrunde liegende Authentifizierungs-Manager-Laufzeit verwendet, wird möglicherweise eine COMException Ausnahme ausgelöst, wenn das AuthorizationStoreRoleProvider Objekt einen Methodenaufruf an die Authentifizierungs-Manager-Laufzeit weiterleitet.

Important

Das AuthorizationStoreRoleProvider Objekt verfügt über die folgenden Anforderungen für die Ausführung in teilweise vertrauenswürdigen Umgebungen:

Wenn Sie einen dateibasierten Richtlinienspeicher in einer ASP.NET Anwendung verwenden, bestimmen die von der aktuellen Vertrauensebene erteilten Datei-E/A-Berechtigungen, ob Lese- und Schreibaktionen vom Anbieter zulässig sind. Die ASP.NET Anwendung muss über Leseberechtigungen für die Datei verfügen, um Daten aus dem Richtlinienspeicher zu lesen, und sie müssen über schreibberechtigungen verfügen, um neue Informationen zu speichern oder vorhandene Informationen im Richtlinienspeicher zu aktualisieren. Die standardmäßige Richtliniendatei mit mittlerer Vertrauensebene bietet eine ASP.NET Lese-/Schreibberechtigungen der Anwendung im Anwendungsverzeichnis. Die standardmäßige Richtliniendatei mit niedriger Vertrauensebene gibt nur eine ASP.NET Anwendungsleseberechtigung im Anwendungsverzeichnis. Darüber hinaus muss die Prozessidentität, unter der die ASP.NET Anwendung ausgeführt wird, über Dateisystemberechtigungen zum Lesen und/oder Schreiben der Richtliniendatei verfügen.

Bei Verwendung eines Active Directory- oder ADAM-Servers benötigt die ASP.NET Anwendung nicht verwaltete Codeberechtigungen, da der interne AuthorizationStoreRoleProvider-Objektcode COM-Interoperabilität verwendet.

Bei Verwendung des objekts AuthorizationStoreRoleProvider außerhalb von ASP.NET benötigt der aufrufende Code die Berechtigung "Nicht verwalteter Code".

Konstruktoren

Name Beschreibung
AuthorizationStoreRoleProvider()

Initialisiert eine neue Instanz der AuthorizationStoreRoleProvider-Klasse.

Eigenschaften

Name Beschreibung
ApplicationName

Ruft den Namen der Autorisierungsspeicheranwendung ab, für die Rolleninformationen gespeichert und abgerufen werden sollen, oder legt diesen fest.

CacheRefreshInterval

Ruft die Anzahl der Minuten zwischen Aktualisierungen des Caches der Richtlinienspeicherdaten ab.

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)
ScopeName

Dient zum Abrufen oder Festlegen des Bereichsnamens für den Autorisierungsspeicher.

Methoden

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

Fügt die angegebenen Benutzernamen zu jeder der angegebenen Rollen hinzu.

CreateRole(String)

Fügt dem Richtlinienspeicher des Rollenautorisierungs-Managers eine neue Rolle hinzu.

DeleteRole(String, Boolean)

Entfernt eine Rolle aus dem Autorisierungs-Manager-Richtlinienspeicher.

Equals(Object)

Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht.

(Geerbt von Object)
FindUsersInRole(String, String)

Diese Methode wird vom Autorisierungsspeicher-Rollenanbieter nicht unterstützt.

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 Autorisierungs-Manager-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 im Autorisierungs-Manager-Richtlinienspeicher vorhanden ist.

ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Gilt für:

Weitere Informationen