Rollenbasierte Sicherheit

In Finanz- oder Geschäftsanwendungen werden häufig Rollen zum Erzwingen von Richtlinien verwendet. So kann eine Anwendung z. B. den Umfang einer verarbeiteten Transaktion je nach Rolle des anfordernden Benutzers einschränken. Angestellte können zum Verarbeiten von Transaktionen autorisiert sein, die unter einem bestimmten Schwellenwert liegen, für Abteilungsleiter kann eine höhere Grenze und für Mitglieder der Geschäftsleitung eine noch höhere (oder keine) Grenze angegeben werden. Die rollenbasierte Sicherheit kann auch verwendet werden, wenn eine Anwendung mehrere Bestätigungen für das Abschließen einer Aktion benötigt. Dies kann z. B. bei einem Einkaufssystem der Fall sein, bei dem jeder Angestellte eine Bestellanforderung generieren kann, aber nur ein Einkaufsangestellter diese in eine Bestellung zur Sendung an den Lieferanten umwandeln kann.

Die rollenbasierte Sicherheit von .NET Framework unterstützt die Autorisierung, indem Informationen über den Principal, der aus einer zugehörigen Identität erstellt wird, im aktuellen Thread verfügbar gemacht werden. Die Identität (und der über diese definierte Principal) kann entweder auf einem Windows-Konto oder auf einer benutzerdefinierten Identität beruhen, die keinem Windows-Konto zugeordnet ist. .NET Framework-Anwendungen können Autorisierungen ausgehend von der Identität des Principals, der Rollenmitgliedschaft oder beiden Angaben durchführen. Eine Rolle ist ein benannter Satz von Principal, die über die gleichen Berechtigungen im Bezug auf die Sicherheit verfügen (z. B. die eines Kassierers oder eines Managers). Ein Principal kann Member einer oder mehrerer Rollen sein. Daher können Anwendungen über die Rollenmitgliedschaft bestimmen, ob ein Principal zum Ausführen einer angeforderten Aktion autorisiert ist.

Für eine einfache Handhabung und Konsistenz mit der Codezugriffssicherheit stellt die rollenbasierte Sicherheit von .NET Framework System.Security.Permissions.PrincipalPermission-Objekte bereit, mit denen die Common Language Runtime Autorisierungen ähnlich den Sicherheitsüberprüfungen für den Codezugriff durchführen kann. Die PrincipalPermission-Klasse ist mit deklarativen und imperativen Sicherheitsüberprüfungen kompatibel und stellt die Identität oder Rolle dar, mit der der Prinzipal übereinstimmen muss. Sie können auch direkt auf die Identitätsinformationen eines Principals zugreifen und bei Bedarf im Code Rollen- und Identitätsprüfungen durchführen.

.NET Framework stellt eine Unterstützung der rollenbasierten Sicherheit bereit, die durch Flexibilität und Erweiterbarkeit den Anforderungen einer großen Bandbreite von Anwendungen genügt. Sie können bereits vorhandene Authentifizierungsstrukturen wie die COM+ 1.0-Dienste einbeziehen oder ein benutzerdefiniertes Authentifizierungssystem erstellen. Die rollenbasierte Sicherheit ist besonders für die Verwendung in ASP.NET-Webanwendungen geeignet, die hauptsächlich auf dem Server verarbeitet werden. Die rollenbasierte Sicherheit von .NET Framework kann aber sowohl auf dem Client als auch auf dem Server verwendet werden.

Machen Sie sich vor dem Lesen dieses Abschnitts mit den unter Schlüsselbegriffe der Sicherheit erläuterten Konzepten vertraut.

Verwandte Themen

Titel

Beschreibung

Principal- und Identitätsobjekte

Erläutert das Einrichten und Verwalten von Windows- und generischen Identitäten und Prinzipale.

PrincipalPermission-Objekte

Beschreibt das deklarative und imperative Implementieren von Berechtigungsobjekten.

Überprüfungen bei rollenbasierter Sicherheit

Beschreibt, wie Sicherheitsüberprüfungen deklarativ, imperativ oder durch einen direkten Zugriff auf ein Prinzipalobjekt implementiert werden.

Interoperation mit COM+ 1.0-Sicherheit

Stellt eine Übersicht über die Interoperation zwischen COM+ 1.0-Sicherheit und .NET Framework bereit.

Schlüsselbegriffe der Sicherheit

Stellt die grundlegenden Konzepte vor, deren Verständnis für das Verwenden der .NET Framework-Sicherheit unverzichtbar ist.

Sicherheitstools (.NET Framework)

Listet die in .NET Framework enthaltenen Sicherheitstools mit einer Kurzbeschreibung auf.

Verweise

System.Security.Permissions.PrincipalPermission