ClaimsPrincipalPermissionAttribute Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Představuje atribut zabezpečení používaný k deklarativnímu přiřazení kontrol přístupu na základě logiky poskytované ClaimsAuthorizationManager instancí v aktuálním kontextu aplikace. Tuto třídu nelze zdědit.
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
- Dědičnost
- Atributy
Příklady
Následující příklad ukazuje, jak chránit metodu dekódováním atributu ClaimsPrincipalPermissionAttribute . Atribut vyhodnotí, jestli má být přístup udělen aktuálnímu objektu zabezpečení pomocí logiky poskytované ClaimsAuthorizationManager instancí v kontextu aplikace. Pokud aktuální objekt zabezpečení není autorizovaný pro zadanou SecurityException akci u zadaného prostředku, vyvolá se vyvolá hodnota, jinak bude provádění pokračovat.
//
// 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()
{
}
Následující kód XML ukazuje minimální konfiguraci potřebnou k použití vlastního správce autorizace deklarací identity s ClaimsPrincipalPermissionAttribute třídou. Musíte alespoň deklarovat system.identityModel oddíly v elementu <configSection> a system.identityModel.services potom zadat správce autorizace v elementu <claimsAuthorizationManager> v rámci výchozí konfigurace identity. Tím zajistíte, že na správce autorizace odkazuje výchozí konfigurace federace. Případně můžete zadat název konfigurace identity, pod kterou je správce autorizace zadaný v identityConfigurationName atributu <prvku federationConfiguration> .
<?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>
Poznámky
Slouží ClaimsPrincipalPermissionAttribute k deklarativní žádosti o kontrolu přístupu pomocí nakonfigurované ClaimsAuthorizationManager.
Je nutné zadat jednu z SecurityAction hodnot, a Resource a v OperationClaimsPrincipalPermissionAttribute deklaraci. Vlastnosti Resource určují prostředek a akci, pro kterou musí být aktuální objekt zabezpečení (Thread.CurrentPrincipal) autorizovaný, aby bylo možné pokračovat spuštěnímOperation. Pokud aktuální objekt zabezpečení nemá oprávnění k provedení zadané akce (operace) pro zadaný prostředek, SecurityException vyvolá se vyvolá.
Důležité
Třída ClaimsPrincipalPermissionAttribute používá správce autorizace deklarací identity nakonfigurovaný nastavenou IdentityConfiguration v rámci FederatedAuthentication.FederationConfiguration vlastnosti. To platí ve všech případech, i ve scénářích, kdy se WS-Federation nepoužívá; Například aktivní webové aplikace (WCF) a konzolové aplikace. Správce autorizace deklarací identity můžete zadat buď v konfiguraci, nebo programově. Chcete-li určit správce autorizace deklarací identity v konfiguračním souboru, nastavte <element claimsAuthorizationManager> v <elementu identityConfiguration a ujistěte se, že na tuto konfiguraci identity odkazuje element federationConfiguration>>, který je načten modulem runtime (například nastavením atributu).<identityConfigurationName Chcete-li nastavit správce autorizace deklarací identity prostřednictvím kódu programu, zadejte obslužnou rutinu FederatedAuthentication.FederationConfigurationCreated události.
Konstruktory
| Name | Description |
|---|---|
| ClaimsPrincipalPermissionAttribute(SecurityAction) |
Inicializuje novou instanci ClaimsPrincipalPermissionAttribute třídy. |
Vlastnosti
| Name | Description |
|---|---|
| Action |
Získá nebo nastaví akci zabezpečení. (Zděděno od SecurityAttribute) |
| Operation |
Získá nebo nastaví operaci, pro kterou má být aktuální objekt zabezpečení autorizovaný pro zadaný prostředek. |
| Resource |
Získá nebo nastaví prostředek, pro který má být objekt zabezpečení autorizovaný k provedení zadané akce (operace). |
| TypeId |
Při implementaci v odvozené třídě získá jedinečný identifikátor pro tento Attribute. (Zděděno od Attribute) |
| Unrestricted |
Získá nebo nastaví hodnotu určující, zda je deklarováno úplné (neomezené) oprávnění k prostředku chráněnému atributem. (Zděděno od SecurityAttribute) |
Metody
| Name | Description |
|---|---|
| CreatePermission() |
Vytvoří novou instanci ClaimsPrincipalPermission třídy, která je založená na aktuální instanci. |
| Equals(Object) |
Vrátí hodnotu, která určuje, zda je tato instance rovna zadanému objektu. (Zděděno od Attribute) |
| GetHashCode() |
Vrátí kód hash pro tuto instanci. (Zděděno od Attribute) |
| GetType() |
Získá Type aktuální instance. (Zděděno od Object) |
| IsDefaultAttribute() |
Při přepsání v odvozené třídě určuje, zda hodnota této instance je výchozí hodnotou pro odvozenou třídu. (Zděděno od Attribute) |
| Match(Object) |
Při přepsání v odvozené třídě vrátí hodnotu, která určuje, zda se tato instance rovná zadanému objektu. (Zděděno od Attribute) |
| MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
| ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
Explicitní implementace rozhraní
| Name | Description |
|---|---|
| _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) |
Mapuje sadu názvů na odpovídající sadu identifikátorů pro rozesílání. (Zděděno od Attribute) |
| _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Načte informace o typu objektu, který lze použít k získání informací o typu pro rozhraní. (Zděděno od Attribute) |
| _Attribute.GetTypeInfoCount(UInt32) |
Získá počet rozhraní typu informací, které objekt poskytuje (0 nebo 1). (Zděděno od Attribute) |
| _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Poskytuje přístup k vlastnostem a metodám vystaveným objektem. (Zděděno od Attribute) |