Überprüfungen bei rollenbasierter Sicherheit
Nachdem Sie Identitäts- und Principalobjekte definiert haben, können Sie mit den folgenden Verfahren Sicherheitsüberprüfungen für diese Objekte durchführen:
Verwenden imperativer Sicherheitsüberprüfungen.
Verwenden deklarativer Sicherheitsüberprüfungen.
Durch direkten Zugriff auf das Principal-Objekt.
In verwaltetem Code kann über imperative oder deklarative Sicherheitsüberprüfungen bestimmt werden, ob ein bestimmtes Principalobjekt Member einer bekannten Rolle ist, eine bekannte Identität hat oder eine bekannte Identität in einer Rolle darstellt. Um über die imperative oder deklarative Sicherheit eine Sicherheitsüberprüfung zu veranlassen, muss eine Sicherheitsforderung für ein ordnungsgemäß erstelltes PrincipalPermission-Objekt angegeben werden. Während der Sicherheitsüberprüfung prüft die Common Language Runtime das Principalobjekt des Aufrufers, um zu bestimmen, ob dessen Identität und Rolle denen der angeforderten PrincipalPermission entsprechen. Wenn keine Übereinstimmung mit dem Principalobjekt vorliegt, wird eine SecurityException ausgelöst. (Es wird nur das Principalobjekt des aktuellen Threads überprüft. Die PrincipalPermission-Klasse führt keinen Stackwalk wie bei Codezugriffsberechtigungen durch.)
Sie können auch direkt auf die Werte des Principalobjekts zugreifen und Überprüfungen ohne ein PrincipalPermission-Objekt durchführen. In diesem Fall lesen Sie die Werte des Principals für den aktuellen Thread oder verwenden die IsInRole-Methode für die Autorisierung.
Siehe auch
Aufgaben
Gewusst wie: Ausführen von obligatorischen Sicherheitsüberprüfungen
Referenz
Konzepte
Durchführen deklarativer Sicherheitsüberprüfungen
Direktes Zugreifen auf ein Principalobjekt