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