PrincipalPermissionAttribute クラス
アセンブリ: mscorlib (mscorlib.dll 内)

<SerializableAttribute> _ <ComVisibleAttribute(True)> _ <AttributeUsageAttribute(AttributeTargets.Class Or AttributeTargets.Method, AllowMultiple:=True, Inherited:=False)> _ Public NotInheritable Class PrincipalPermissionAttribute Inherits CodeAccessSecurityAttribute
[SerializableAttribute] [ComVisibleAttribute(true)] [AttributeUsageAttribute(AttributeTargets.Class|AttributeTargets.Method, AllowMultiple=true, Inherited=false)] public sealed class PrincipalPermissionAttribute : CodeAccessSecurityAttribute
[SerializableAttribute] [ComVisibleAttribute(true)] [AttributeUsageAttribute(AttributeTargets::Class|AttributeTargets::Method, AllowMultiple=true, Inherited=false)] public ref class PrincipalPermissionAttribute sealed : public CodeAccessSecurityAttribute

PrincipalPermissionAttribute を使用すると、コードを実行中のユーザーが指定したロールに所属するか認証されていることを宣言によって要求できます。Unrestricted を使用すると、Authenticated が true に設定され、Name と Role が null 参照 (Visual Basic では Nothing) に設定された PrincipalPermission が作成されます。
宣言の許容スコープは、使用する SecurityAction によって異なります。PrincipalPermissionAttribute はアセンブリ レベルでは適用できません。
セキュリティ属性によって宣言されたセキュリティ情報は、属性ターゲットのメタデータに格納され、実行時にシステムによってアクセスされます。セキュリティ属性は宣言セキュリティにだけ使用されます。強制セキュリティの場合は、対応するアクセス許可クラスを使用します。
重要 : プリンシパルのアクセス許可を要求する前に、現在のアプリケーション ドメインのプリンシパル ポリシーを列挙値 WindowsPrincipal に設定する必要があります。既定では、プリンシパル ポリシーは UnauthenticatedPrincipal に設定されます。プリンシパル ポリシーを WindowsPrincipal に設定しないと、プリンシパルのアクセス許可の要求は失敗します。プリンシパルのアクセス許可を要求する前に、次のコードを実行する必要があります。AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal).

PrincipalPermission を宣言して使用する現在のユーザーが Bob であり、スーパバイザのロールに所属していることを要求する方法を次の例に示します。
<PrincipalPermissionAttribute(SecurityAction.Demand, _ Name := "Bob", Role := "Supervisor")> Public Class SampleClass
[PrincipalPermissionAttribute(SecurityAction.Demand, Name="Bob", Role="Supervisor")]
/** @attribute PrincipalPermissionAttribute(SecurityAction.Demand, Name = "Bob", Role = "Supervisor") */
ロールのメンバシップにかかわらず、現在のユーザーの ID が Bob であることを要求する方法を次の例に示します。

System.Attribute
System.Security.Permissions.SecurityAttribute
System.Security.Permissions.CodeAccessSecurityAttribute
System.Security.Permissions.PrincipalPermissionAttribute


Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


PrincipalPermissionAttribute コンストラクタ
アセンブリ: mscorlib (mscorlib.dll 内)


Demand、InheritanceDemand、および LinkDemand だけが、この属性で意味を持つ SecurityAction の値です。その他のアクションは、コード アクセス許可以外のアクセス許可には適用されません。

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


PrincipalPermissionAttribute プロパティ

名前 | 説明 | |
---|---|---|
![]() | Action | セキュリティ アクションを取得または設定します。 ( SecurityAttribute から継承されます。) |
![]() | Authenticated | 現在のプリンシパルが、基になるロール ベースのセキュリティ プロバイダによって認証されているかどうかを示す値を取得または設定します。 |
![]() | Name | 現在のプリンシパルと関連付けられた ID の名前を取得または設定します。 |
![]() | Role | 指定したセキュリティ ロールのメンバシップを取得または設定します。 |
![]() | TypeId | 派生クラスに実装されている場合は、この Attribute の一意の識別子を取得します。 ( Attribute から継承されます。) |
![]() | Unrestricted | 属性によって保護されているリソースに対して完全な (無制限の) アクセス許可が宣言されているかどうかを示す値を取得または設定します。 ( SecurityAttribute から継承されます。) |

PrincipalPermissionAttribute メソッド

名前 | 説明 | |
---|---|---|
![]() | CreatePermission | オーバーライドされます。 新しい PrincipalPermission を作成して返します。 |
![]() | Equals | オーバーロードされます。 ( Attribute から継承されます。) |
![]() | GetCustomAttribute | オーバーロードされます。 アセンブリ、モジュール、型のメンバ、またはメソッド パラメータに適用された指定した型のカスタム属性を取得します。 ( Attribute から継承されます。) |
![]() | GetCustomAttributes | オーバーロードされます。 アセンブリ、モジュール、型のメンバ、またはメソッド パラメータに適用されたカスタム属性の配列を取得します。 ( Attribute から継承されます。) |
![]() | GetHashCode | このインスタンスのハッシュ コードを返します。 ( Attribute から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
![]() | IsDefaultAttribute | 派生クラス内でオーバーライドされたときに、このインスタンスの値が派生クラスの既定値かどうかを示します。 ( Attribute から継承されます。) |
![]() | IsDefined | オーバーロードされます。 指定した型のカスタム属性が、アセンブリ、モジュール、型のメンバ、またはメソッド パラメータに適用されているかどうかを判断します。 ( Attribute から継承されます。) |
![]() | Match | 派生クラス内でオーバーライドされたときに、指定したオブジェクトとこのインスタンスが等しいかどうかを示す値を返します。 ( Attribute から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 ( Object から継承されます。) |

PrincipalPermissionAttribute メンバ
宣言セキュリティを使用して、PrincipalPermission のセキュリティ アクションをコードに適用できるようにします。このクラスは継承できません。
PrincipalPermissionAttribute データ型で公開されるメンバを以下の表に示します。

名前 | 説明 | |
---|---|---|
![]() | PrincipalPermissionAttribute | SecurityAction を指定して、PrincipalPermissionAttribute クラスの新しいインスタンスを初期化します。 |

名前 | 説明 | |
---|---|---|
![]() | Action | セキュリティ アクションを取得または設定します。(SecurityAttribute から継承されます。) |
![]() | Authenticated | 現在のプリンシパルが、基になるロール ベースのセキュリティ プロバイダによって認証されているかどうかを示す値を取得または設定します。 |
![]() | Name | 現在のプリンシパルと関連付けられた ID の名前を取得または設定します。 |
![]() | Role | 指定したセキュリティ ロールのメンバシップを取得または設定します。 |
![]() | TypeId | 派生クラスに実装されている場合は、この Attribute の一意の識別子を取得します。(Attribute から継承されます。) |
![]() | Unrestricted | 属性によって保護されているリソースに対して完全な (無制限の) アクセス許可が宣言されているかどうかを示す値を取得または設定します。(SecurityAttribute から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | CreatePermission | オーバーライドされます。 新しい PrincipalPermission を作成して返します。 |
![]() | Equals | オーバーロードされます。 ( Attribute から継承されます。) |
![]() | GetCustomAttribute | オーバーロードされます。 アセンブリ、モジュール、型のメンバ、またはメソッド パラメータに適用された指定した型のカスタム属性を取得します。 (Attribute から継承されます。) |
![]() | GetCustomAttributes | オーバーロードされます。 アセンブリ、モジュール、型のメンバ、またはメソッド パラメータに適用されたカスタム属性の配列を取得します。 (Attribute から継承されます。) |
![]() | GetHashCode | このインスタンスのハッシュ コードを返します。 (Attribute から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
![]() | IsDefaultAttribute | 派生クラス内でオーバーライドされたときに、このインスタンスの値が派生クラスの既定値かどうかを示します。 (Attribute から継承されます。) |
![]() | IsDefined | オーバーロードされます。 指定した型のカスタム属性が、アセンブリ、モジュール、型のメンバ、またはメソッド パラメータに適用されているかどうかを判断します。 (Attribute から継承されます。) |
![]() | Match | 派生クラス内でオーバーライドされたときに、指定したオブジェクトとこのインスタンスが等しいかどうかを示す値を返します。 (Attribute から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 (Object から継承されます。) |

- PrincipalPermissionAttributeのページへのリンク