AuthorizationStoreRoleProvider Klasse

Definition

Verwaltet Speicher der Rollenmitgliedschaftsinformationen für eine ASP.NET-Anwendung in einem Autorisierungs-Manager-Richtlinienspeicher. Dies erfolgt in einer XML-Datei, in einem Active Directory oder auf einem Active Directory-Anwendungsmodus-Server.

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

Im folgenden Codebeispiel wird eine Web.config Datei festgelegt, 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 Roles RolePrincipal Klassen verwendet, um Rollenverwaltungsdienste für eine ASP.NET Anwendung mithilfe eines Autorisierungs-Manager-Speichers bereitzustellen. Sie können die Rollenverwaltung verwenden, um verschiedene Autorisierungsebenen für Ihre Anwendung anzugeben. Auf den Autorisierungs-Manager kann mithilfe der Microsoft Management Console zugegriffen werden.

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

Sie können das AuthorizationStoreRoleProvider Objekt konfigurieren, um entweder eine lokale XML-Datei oder einen Active Directory- oder Active Directory-Anwendungsmodus (ADAM)-Server zu verwenden. Bei Verwendung einer lokalen Datei sollte die Verbindungszeichenfolge wie das folgende Beispiel aussehen.

msxml://<path to xml file>  

Wenn die lokale Datei in der Verzeichnisstruktur einer ASP.NET Webanwendung gespeichert wird, 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 wie im folgenden Beispiel verwenden.

msxml://~\App_Data\datafilename.xml

Wichtig

Das Speichern einer XML-Datendatei im Webanwendungsverzeichnis ist eine potenzielle Sicherheitsrisiken. Standardmäßig wird IIS XML-Datendateien im Web bereitstellen. Um die Sicherheit bei verwendung einer lokalen Datendatei in einer ASP.NET Anwendung zu verbessern, sollten Sie die Datendatei im App_Data Verzeichnis speichern. Dateien, die im Verzeichnis gespeichert sind, werden nicht an das App_Data Web bereitgestellt.

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

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

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

Wichtig

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

Wenn Sie einen dateibasierten Richtlinienspeicher in einer ASP.NET Anwendung verwenden, bestimmen die von der aktuellen Vertrauensstufe gewährten Datei-I/O-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 "Mittelvertrauenswürdig" bietet eine ASP.NET Anwendungs-Lese-/Schreibberechtigungen im Anwendungsverzeichnis. Die standardmäßige Datei mit niedriger vertrauenswürdiger Richtlinie gibt nur eine leseberechtigung ASP.NET Anwendung im Anwendungsverzeichnis. Darüber hinaus muss die Prozessidentität, unter der die ASP.NET Anwendung ausgeführt wird, über Dateisystemberechtigungen verfügen, um die Richtliniendatei zu lesen und/oder zu schreiben.

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

Wenn Sie das Objekt außerhalb von ASP.NET verwenden, benötigt der AuthorizationStoreRoleProvider Aufrufcode nicht verwaltete Codeberechtigungen.

Konstruktoren

AuthorizationStoreRoleProvider()

Initialisiert eine neue Instanz der AuthorizationStoreRoleProvider-Klasse.

Eigenschaften

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 den Cacheaktualisierungen der Richtlinienspeicherdaten ab.

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

Ruft den Bereichsnamen für den Autorisierungsspeicher ab oder legt diesen fest.

Methoden

AddUsersToRoles(String[], String[])

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

CreateRole(String)

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

DeleteRole(String, Boolean)

Entfernt eine Rolle aus dem Autorisierungsmanager-Richtlinienspeicher.

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
FindUsersInRole(String, String)

Diese Methode wird vom Rollenanbieter für Autorisierungsspeicher nicht unterstützt.

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

ToString()

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

(Geerbt von Object)

Gilt für

Siehe auch