ClaimsPrincipalPermissionAttribute Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Vertegenwoordigt een beveiligingskenmerk dat wordt gebruikt om declaratief toegangscontroles toe te wijzen op basis van de logica van het ClaimsAuthorizationManager exemplaar in de huidige toepassingscontext. Deze klasse kan niet worden overgenomen.
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
- Overname
- Kenmerken
Voorbeelden
In het volgende voorbeeld ziet u hoe u een methode beveiligt door deze te decoreren met het ClaimsPrincipalPermissionAttribute kenmerk. Het kenmerk evalueert of toegang moet worden verleend aan de huidige principal door gebruik te maken van de logica van het ClaimsAuthorizationManager exemplaar in de toepassingscontext. Als de huidige principal niet is geautoriseerd voor de opgegeven actie op de opgegeven resource, wordt er een SecurityException gegenereerd. Anders wordt de uitvoering voortgezet.
//
// 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()
{
}
In de volgende XML ziet u de minimale configuratie die is vereist voor het gebruik van een aangepast claimautorisatiebeheer met de ClaimsPrincipalPermissionAttribute klasse. U moet minimaal zowel de system.identityModel secties in het element declareren als de system.identityModel.services secties in het <configSection> element en vervolgens uw autorisatiebeheerder opgeven in een <claimAuthorizationManager-element> onder de standaardidentiteitsconfiguratie. Dit zorgt ervoor dat uw autorisatiebeheerder wordt verwezen vanuit de standaardfederatieconfiguratie. U kunt ook de naam opgeven van de identiteitsconfiguratie waaronder uw autorisatiebeheerder is opgegeven in het identityConfigurationName kenmerk van het <federationConfiguration-element> .
<?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>
Opmerkingen
De ClaimsPrincipalPermissionAttribute wordt gebruikt om declaratief een toegangscontrole aan te vragen met behulp van de geconfigureerde ClaimsAuthorizationManager.
U moet een van de SecurityAction waarden, een Resource en een Operation in uw ClaimsPrincipalPermissionAttribute declaratie opgeven. De Resource en Operation eigenschappen geven de resource en actie op waarvoor de huidige principal (Thread.CurrentPrincipal) moet worden geautoriseerd voor uitvoering om door te gaan. Als de huidige principal niet is gemachtigd om de opgegeven actie (bewerking) op de opgegeven resource uit te voeren, wordt er een SecurityException gegenereerd.
Important
De ClaimsPrincipalPermissionAttribute klasse gebruikt de claimautorisatiebeheer die is geconfigureerd door de IdentityConfiguration die is ingesteld onder de FederatedAuthentication.FederationConfiguration eigenschap. Dit geldt in alle gevallen, zelfs in scenario's waarin WS-Federation niet wordt gebruikt; Bijvoorbeeld actieve webtoepassingen (WCF) en consoletoepassingen. U kunt de claimautorisatiebeheer opgeven in configuratie of programmatisch. Als u de claimautorisatiebeheer in een configuratiebestand wilt opgeven, stelt u het <element claimsAuthorizationManager> in onder een <identityConfiguration-element> en zorgt u ervoor dat naar deze identiteitsconfiguratie wordt verwezen door het <federationConfiguration-element> dat door de runtime wordt geladen (bijvoorbeeld door het identityConfigurationName kenmerk in te stellen). Als u de claimautorisatiebeheer programmatisch wilt instellen, geeft u een handler op voor de FederatedAuthentication.FederationConfigurationCreated gebeurtenis.
Constructors
| Name | Description |
|---|---|
| ClaimsPrincipalPermissionAttribute(SecurityAction) |
Initialiseert een nieuw exemplaar van de ClaimsPrincipalPermissionAttribute klasse. |
Eigenschappen
| Name | Description |
|---|---|
| Action |
Haalt een beveiligingsactie op of stelt deze in. (Overgenomen van SecurityAttribute) |
| Operation |
Hiermee haalt u de bewerking op waarvoor de huidige principal moet worden geautoriseerd voor de opgegeven resource. |
| Resource |
Hiermee haalt u de resource op waarvoor de principal moet worden geautoriseerd om de opgegeven actie (bewerking) uit te voeren. |
| TypeId |
Wanneer deze wordt geïmplementeerd in een afgeleide klasse, krijgt u Attributehiervoor een unieke id. (Overgenomen van Attribute) |
| Unrestricted |
Hiermee wordt een waarde opgehaald of ingesteld die aangeeft of volledige (onbeperkte) machtiging voor de resource die door het kenmerk wordt beveiligd, wordt gedeclareerd. (Overgenomen van SecurityAttribute) |
Methoden
| Name | Description |
|---|---|
| CreatePermission() |
Hiermee maakt u een nieuw exemplaar van de ClaimsPrincipalPermission klasse die is gebaseerd op het huidige exemplaar. |
| Equals(Object) |
Retourneert een waarde die aangeeft of dit exemplaar gelijk is aan een opgegeven object. (Overgenomen van Attribute) |
| GetHashCode() |
Retourneert de hash-code voor dit exemplaar. (Overgenomen van Attribute) |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| IsDefaultAttribute() |
Wanneer deze wordt overschreven in een afgeleide klasse, geeft u aan of de waarde van dit exemplaar de standaardwaarde is voor de afgeleide klasse. (Overgenomen van Attribute) |
| Match(Object) |
Wanneer deze wordt overschreven in een afgeleide klasse, wordt een waarde geretourneerd die aangeeft of dit exemplaar gelijk is aan een opgegeven object. (Overgenomen van Attribute) |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| ToString() |
Retourneert een tekenreeks die het huidige object vertegenwoordigt. (Overgenomen van Object) |
Expliciete interface-implementaties
| Name | Description |
|---|---|
| _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Hiermee wordt een set namen toegewezen aan een bijbehorende set verzend-id's. (Overgenomen van Attribute) |
| _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Hiermee haalt u de typegegevens voor een object op, die kan worden gebruikt om de typegegevens voor een interface op te halen. (Overgenomen van Attribute) |
| _Attribute.GetTypeInfoCount(UInt32) |
Hiermee wordt het aantal type-informatieinterfaces opgehaald dat een object biedt (0 of 1). (Overgenomen van Attribute) |
| _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Biedt toegang tot eigenschappen en methoden die door een object worden weergegeven. (Overgenomen van Attribute) |