ClaimsPrincipalPermissionAttribute Klasse

Definition

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

Gilt für:

Weitere Informationen