ClaimsPrincipalPermissionAttribute 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.
Stellt ein Sicherheitsattribut dar, das verwendet wird, um auf Grundlage der Logik, die von der ClaimsAuthorizationManager-Instanz im aktuellen Anwendungskontext bereitgestellt wird, Zugangsprüfungen deklarativ zuzuweisen. Diese Klasse kann nicht vererbt werden.
public ref class ClaimsPrincipalPermissionAttribute sealed : System::Security::Permissions::CodeAccessSecurityAttribute
[System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method | System.AttributeTargets.Property, AllowMultiple=true)]
public sealed class ClaimsPrincipalPermissionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute
[<System.AttributeUsage(System.AttributeTargets.Class | System.AttributeTargets.Method | System.AttributeTargets.Property, AllowMultiple=true)>]
type ClaimsPrincipalPermissionAttribute = class
inherit CodeAccessSecurityAttribute
Public NotInheritable Class ClaimsPrincipalPermissionAttribute
Inherits CodeAccessSecurityAttribute
- Vererbung
- Attribute
Beispiele
Das folgende Beispiel zeigt, wie sie eine Methode schützen, indem Sie sie mit dem ClaimsPrincipalPermissionAttribute -Attribut versehen. Das -Attribut bewertet, ob der Zugriff auf den aktuellen Prinzipal gewährt werden soll, indem die Logik des ClaimsAuthorizationManager instance im Anwendungskontext genutzt wird. Wenn der aktuelle Prinzipal für die angegebene Aktion für die angegebene Ressource nicht autorisiert ist, wird ein SecurityException ausgelöst, andernfalls wird die Ausführung fortgesetzt.
//
// Declarative access check using the permission class. The caller must satisfy both demands.
//
[ClaimsPrincipalPermission(SecurityAction.Demand, Resource = "resource", Operation = "action")]
[ClaimsPrincipalPermission(SecurityAction.Demand, Resource = "resource1", Operation = "action1")]
static void ProtectedMethod()
{
}
Der folgende XML-Code zeigt die Mindestkonfiguration, die erforderlich ist, um einen benutzerdefinierten Berechtigungsautorisierungs-Manager mit der ClaimsPrincipalPermissionAttribute -Klasse zu verwenden. Sie müssen mindestens die system.identityModel
Abschnitte und system.identityModel.services
im Element deklarieren und dann Ihren Autorisierungs-Manager <configSection>
in einem <claimsAuthorizationManager-Element> unter der Standardidentitätskonfiguration angeben. Dadurch wird sichergestellt, dass der Autorisierungs-Manager von der Standardverbundkonfiguration referenziert wird. Alternativ können Sie den Namen der Identitätskonfiguration angeben, unter der Ihr Autorisierungs-Manager im identityConfigurationName
Attribut des <federationConfiguration-Elements> angegeben wird.
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<!-- WIF configuration sections -->
<section name="system.identityModel" type="System.IdentityModel.Configuration.SystemIdentityModelSection, System.IdentityModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<section name="system.identityModel.services" type="System.IdentityModel.Services.Configuration.SystemIdentityModelServicesSection, System.IdentityModel.Services, Version=4.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
</configSections>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
<system.identityModel>
<identityConfiguration>
<claimsAuthorizationManager type ="MyClaimsAuthorizationManager.MyClaimsAuthorizationManager, MyClaimsAuthorizationManager"/>
</identityConfiguration>
</system.identityModel>
</configuration>
Hinweise
Dient ClaimsPrincipalPermissionAttribute zum deklarativen Anfordern einer Zugriffsüberprüfung mithilfe des konfigurierten ClaimsAuthorizationManager.
Sie müssen in Ihrer ClaimsPrincipalPermissionAttribute Deklaration einen der SecurityAction Werte a Resource
und einen Operation
angeben. Die Resource
Eigenschaften und Operation
geben die Ressource und die Aktion an, für die der aktuelle Prinzipal (Thread.CurrentPrincipal) autorisiert sein muss, damit die Ausführung fortgesetzt werden kann. Wenn der aktuelle Prinzipal nicht autorisiert ist, die angegebene Aktion (Vorgang) für die angegebene Ressource auszuführen, wird ein SecurityException ausgelöst.
Wichtig
Die ClaimsPrincipalPermissionAttribute -Klasse verwendet den Berechtigungsautorisierungs-Manager, der von dem konfiguriert wird, der IdentityConfiguration unter der FederatedAuthentication.FederationConfiguration -Eigenschaft festgelegt ist. Dies gilt in allen Fällen, auch in Szenarien, in denen WS-Federation nicht verwendet wird; Beispielsweise aktive (WCF)-Webanwendungen und Konsolenanwendungen. Sie können den Berechtigungsautorisierungs-Manager entweder in der Konfiguration oder programmgesteuert angeben. Um den Berechtigungsautorisierungs-Manager in einer Konfigurationsdatei anzugeben, legen Sie das <claimsAuthorizationManager-Element> unter einem <identityConfiguration-Element fest, und stellen Sie sicher, dass auf diese Identitätskonfiguration> das <federationConfiguration-Element> verweist, das von der Runtime geladen wird (z. B. durch Festlegen des identityConfigurationName
Attributs). Um den Berechtigungsautorisierungs-Manager programmgesteuert festzulegen, stellen Sie einen Handler für das FederatedAuthentication.FederationConfigurationCreated Ereignis bereit.
Konstruktoren
ClaimsPrincipalPermissionAttribute(SecurityAction) |
Initialisiert eine neue Instanz der ClaimsPrincipalPermissionAttribute-Klasse. |
Eigenschaften
Action |
Ruft eine Sicherheitsaktion ab oder legt diese fest. (Geerbt von SecurityAttribute) |
Operation |
Ruft den Vorgang ab (bzw. legt diesen fest), für den der aktuelle Prinzipal für die angegebene Ressource autorisiert werden soll. |
Resource |
Ruft die Ressource ab, für die der Prinzipal berechtigt werden soll, die angegebene Aktion (den Vorgang) auszuführen, oder legt diese fest. |
TypeId |
Ruft bei Implementierung in einer abgeleiteten Klasse einen eindeutigen Bezeichner für dieses Attribute ab. (Geerbt von Attribute) |
Unrestricted |
Ruft einen Wert ab, der angibt, ob eine vollständige (uneingeschränkte) Berechtigung für die durch das Attribut geschützte Ressource deklariert ist, oder legt diesen fest. (Geerbt von SecurityAttribute) |
Methoden
CreatePermission() |
Erstellt eine neue Instanz der ClaimsPrincipalPermission-Klasse auf Grundlage der aktuellen Instanz ist. |
Equals(Object) |
Gibt einen Wert zurück, der angibt, ob diese Instanz gleich einem angegebenen Objekt ist. (Geerbt von Attribute) |
GetHashCode() |
Gibt den Hashcode für diese Instanz zurück. (Geerbt von Attribute) |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
IsDefaultAttribute() |
Gibt beim Überschreiben in einer abgeleiteten Klasse an, ob der Wert der Instanz der Standardwert für die abgeleitete Klasse ist. (Geerbt von Attribute) |
Match(Object) |
Beim Überschreiben in einer abgeleiteten Klasse wird ein Wert zurückgegeben, der angibt, ob diese Instanz einem bestimmten Objekt entspricht. (Geerbt von Attribute) |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |
Explizite Schnittstellenimplementierungen
_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Ordnet eine Reihe von Namen einer entsprechenden Reihe von Dispatchbezeichnern zu. (Geerbt von Attribute) |
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Ruft die Typinformationen für ein Objekt ab, mit deren Hilfe die Typinformationen für eine Schnittstelle abgerufen werden können. (Geerbt von Attribute) |
_Attribute.GetTypeInfoCount(UInt32) |
Ruft die Anzahl der Schnittstellen mit Typinformationen ab, die von einem Objekt bereitgestellt werden (0 oder 1). (Geerbt von Attribute) |
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Stellt den Zugriff auf von einem Objekt verfügbar gemachte Eigenschaften und Methoden bereit. (Geerbt von Attribute) |