PrincipalPermission クラスとは? わかりやすく解説

PrincipalPermission クラス

宣言セキュリティ アクション強制セキュリティ アクション両方のために定義され言語構成要素使用してアクティブ プリンシパル (IPrincipal のトピック参照) をチェックできるようにします。このクラス継承できません。

名前空間: System.Security.Permissions
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

<SerializableAttribute> _
<ComVisibleAttribute(True)> _
Public NotInheritable Class
 PrincipalPermission
    Implements IPermission, IUnrestrictedPermission, ISecurityEncodable
Dim instance As PrincipalPermission
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public sealed class PrincipalPermission : IPermission,
 IUnrestrictedPermission, ISecurityEncodable
[SerializableAttribute] 
[ComVisibleAttribute(true)] 
public ref class PrincipalPermission sealed
 : IPermission, IUnrestrictedPermission, ISecurityEncodable
/** @attribute SerializableAttribute() */ 
/** @attribute ComVisibleAttribute(true) */ 
public final class PrincipalPermission implements
 IPermission, IUnrestrictedPermission, 
    ISecurityEncodable
SerializableAttribute 
ComVisibleAttribute(true) 
public final class PrincipalPermission implements
 IPermission, IUnrestrictedPermission, 
    ISecurityEncodable
解説解説

コンストラクタユーザー名ロールID 情報を渡すことにより、PrincipalPermission使用して、この情報一致するアクティブ プリンシパルID要求できます

アクティブ IPrincipal および関連付けられた IIdentity と一致するためには、指定した IDロール両方一致する必要がありますnull 参照 (Visual Basic では Nothing) ID 文字列使用する場合は、すべての ID一致する要求として解釈されます。null 参照 (Visual Basic では Nothing) ロール文字列使用すると、すべてのロール一致しますこのためname または rolenull 参照 (Visual Basic では Nothing) パラメータPrincipalPermission に渡すと、すべての IPrincipalIDロール一致しますIIdentity認証されエンティティまたは認証されていないエンティティのどちらを表しているかを判断するだけの PrincipalPermission構築できます。この場合namerole無視されます。

その他のほとんどのアクセス許可とは異なりPrincipalPermission は、CodeAccessPermission を拡張しません。ただし、これは IPermission インターフェイス実装ます。これは、PrincipalPermission が、コードアクセス許可はないためです。つまり、このアクセス許可は、実行しているアセンブリID基づいて与えられるものではありません。その代わりに、コード アクセスコード ID アクセス許可実行する場合一貫した方法で、現在のユーザー ID に対して操作 (DemandUnion、Intersect など) を実行することをコード許可します

メモ重要 :

プリンシパルアクセス許可要求する前に現在のアプリケーション ドメインプリンシパル ポリシー列挙値 WindowsPrincipal に設定する必要があります既定では、プリンシパル ポリシーは UnauthenticatedPrincipal に設定されます。プリンシパル ポリシーWindowsPrincipal設定しないと、プリンシパルアクセス許可要求失敗しますプリンシパルアクセス許可要求する前に次のコード実行する必要があります

AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal).

使用例使用例

2 人異な管理者権限を持つユーザーを表す 2 つPrincipalPermission オブジェクト作成し2 つ和集合形成して要求を行う例を次に示しますDemand は、アクティブIPrincipal実装が、マネージャロールを持つユーザー Bob、またはスーパバイザロールを持つユーザー Louiseいずれかを表す場合にだけ成功します

Dim id1 As String = "Bob"
Dim role1 As String = "Manager"
Dim PrincipalPerm1 As New
 PrincipalPermission(id1, role1)
       
Dim id2 As String = "Louise"
Dim role2 As String = "Supervisor"
Dim PrincipalPerm2 As New
 PrincipalPermission(id2, role2)
       
PrincipalPerm1.Union(PrincipalPerm2).Demand()
String id1 = "Bob";
String role1 = "Manager";
PrincipalPermission PrincipalPerm1 = new PrincipalPermission(id1,
 role1);

String id2 = "Louise";
String role2 = "Supervisor";
PrincipalPermission PrincipalPerm2 = new PrincipalPermission(id2,
 role2);

(PrincipalPerm1.Union(PrincipalPerm2)).Demand();
String^ id1 = "Bob";
String^ role1 = "Manager";
PrincipalPermission^ PrincipalPerm1 = gcnew PrincipalPermission( id1,role1 );

String^ id2 = "Louise";
String^ role2 = "Supervisor";
PrincipalPermission^ PrincipalPerm2 = gcnew PrincipalPermission( id2,role2 );

(PrincipalPerm1->Union( PrincipalPerm2 ))->Demand();
String id1 = "Bob";
String role1 = "Manager";
PrincipalPermission principalPerm1 = new PrincipalPermission(id1
,
    role1);
String id2 = "Louise";
String role2 = "Supervisor";
PrincipalPermission principalPerm2 = new PrincipalPermission(id2
,
    role2);
principalPerm1.Union(principalPerm2).Demand();
継承階層継承階層
System.Object
  System.Security.Permissions.PrincipalPermission
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバ場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
PrincipalPermission メンバ
System.Security.Permissions 名前空間
PrincipalPermissionAttribute
その他の技術情報
アクセス許可
アクセス許可要求
プリンシパル



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「PrincipalPermission クラス」の関連用語

PrincipalPermission クラスのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



PrincipalPermission クラスのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2024 Microsoft.All rights reserved.

©2024 GRAS Group, Inc.RSS