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
その他の技術情報
アクセス許可
アクセス許可要求
プリンシパル

PrincipalPermission コンストラクタ (PermissionState)

PermissionState指定して、PrincipalPermission クラス新しインスタンス初期化します。

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

Public Sub New ( _
    state As PermissionState _
)
Dim state As PermissionState

Dim instance As New PrincipalPermission(state)
public PrincipalPermission (
    PermissionState state
)
public:
PrincipalPermission (
    PermissionState state
)
public PrincipalPermission (
    PermissionState state
)
public function PrincipalPermission (
    state : PermissionState
)

パラメータ

state

PermissionState 値の 1 つ

例外例外
例外種類条件

ArgumentException

state パラメータが、有効な PermissionState ではありません。

解説解説

None は、認証されていないプリンシパルだけと一致しますName は、空の文字列 ("") です。Role と Authenticated は、false にはなりません。Unrestricted は、すべてのプリンシパル一致しますNamenull 参照 (Visual Basic では Nothing)、Rolenull 参照 (Visual Basic では Nothing) です。

メモメモ

このコンストラクタは、他のアクセス許可設計との一貫性のために提供されていますが、実際用途はありません。

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
PrincipalPermission クラス
PrincipalPermission メンバ
System.Security.Permissions 名前空間

PrincipalPermission コンストラクタ (String, String, Boolean)

指定した namerole認証ステータスで、PrincipalPermission クラス新しインスタンス初期化します。

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

Public Sub New ( _
    name As String, _
    role As String, _
    isAuthenticated As Boolean _
)
Dim name As String
Dim role As String
Dim isAuthenticated As Boolean

Dim instance As New PrincipalPermission(name,
 role, isAuthenticated)
public PrincipalPermission (
    string name,
    string role,
    bool isAuthenticated
)
public:
PrincipalPermission (
    String^ name, 
    String^ role, 
    bool isAuthenticated
)
public PrincipalPermission (
    String name, 
    String role, 
    boolean isAuthenticated
)
public function PrincipalPermission (
    name : String, 
    role : String, 
    isAuthenticated : boolean
)

パラメータ

name

IPrincipal オブジェクトユーザーの名前。

role

IPrincipal オブジェクトユーザーロール。たとえば、管理者

isAuthenticated

ユーザー認証されていることを示すには trueそれ以外場合false

解説解説

name パラメータrole パラメータはいずれも、アクティブIPrincipal および関連付けられた IIdentity と一致するために、このアクセス許可一致する必要があります

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
PrincipalPermission クラス
PrincipalPermission メンバ
System.Security.Permissions 名前空間

PrincipalPermission コンストラクタ

PrincipalPermission クラス新しインスタンス初期化します。
オーバーロードの一覧オーバーロードの一覧

名前 説明
PrincipalPermission (PermissionState) PermissionState を指定してPrincipalPermission クラス新しインスタンス初期化します。
PrincipalPermission (String, String) 指定した namerole で、PrincipalPermission クラス新しインスタンス初期化します。
PrincipalPermission (String, String, Boolean) 指定した namerole認証ステータスで、PrincipalPermission クラス新しインスタンス初期化します。
参照参照

関連項目

PrincipalPermission クラス
PrincipalPermission メンバ
System.Security.Permissions 名前空間

PrincipalPermission コンストラクタ (String, String)

指定した namerole で、PrincipalPermission クラス新しインスタンス初期化します。

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

public PrincipalPermission (
    string name,
    string role
)
public:
PrincipalPermission (
    String^ name, 
    String^ role
)
public PrincipalPermission (
    String name, 
    String role
)
public function PrincipalPermission (
    name : String, 
    role : String
)

パラメータ

name

IPrincipal オブジェクトユーザーの名前。

role

IPrincipal オブジェクトユーザーロール。たとえば、管理者

解説解説

name パラメータrole パラメータはいずれも、アクティブIPrincipal および関連付けられた IIdentity と一致するために、このアクセス許可一致する必要があります

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
PrincipalPermission クラス
PrincipalPermission メンバ
System.Security.Permissions 名前空間

PrincipalPermission メソッド


パブリック メソッドパブリック メソッド

  名前 説明
パブリック メソッド Copy 現在のアクセス許可コピー作成して返します
パブリック メソッド Demand 現在のプリンシパルが、現在のアクセス許可によって指定されプリンシパル一致しているかどうか実行時判断します
パブリック メソッド Equals オーバーロードされますオーバーライドされます。  
パブリック メソッド FromXml XML エンコーディングから、指定した状態のアクセス許可再構築ます。
パブリック メソッド GetHashCode オーバーライドされますハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用適した PrincipalPermission オブジェクトハッシュ コード取得します
パブリック メソッド GetType  現在のインスタンスType取得します。 ( Object から継承されます。)
パブリック メソッド Intersect 現在のアクセス許可指定したアクセス許可積集合を表すアクセス許可作成して返します
パブリック メソッド IsSubsetOf 現在のアクセス許可が、指定したアクセス許可サブセットかどうか判断します
パブリック メソッド IsUnrestricted 現在のアクセス許可無制限かどうかを示す値を返します
パブリック メソッド ReferenceEquals  指定した複数Object インスタンス同一かどうか判断します。 ( Object から継承されます。)
パブリック メソッド ToString オーバーライドされます現在のアクセス許可を表す文字列を作成して返します
パブリック メソッド ToXml アクセス許可とその現在の状態を表す XML エンコーディング作成します
パブリック メソッド Union 現在のアクセス許可指定したアクセス許可和集合を表すアクセス許可作成します
参照参照

関連項目

PrincipalPermission クラス
System.Security.Permissions 名前空間
PrincipalPermissionAttribute

その他の技術情報

アクセス許可
アクセス許可要求
プリンシパル

PrincipalPermission メンバ

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

PrincipalPermission データ型公開されるメンバを以下の表に示します


パブリック コンストラクタパブリック コンストラクタ
  名前 説明
パブリック メソッド PrincipalPermission オーバーロードされます。 PrincipalPermission クラス新しインスタンス初期化します。
パブリック メソッドパブリック メソッド
  名前 説明
パブリック メソッド Copy 現在のアクセス許可コピー作成して返します
パブリック メソッド Demand 現在のプリンシパルが、現在のアクセス許可によって指定されプリンシパル一致しているかどうか実行時判断します
パブリック メソッド Equals オーバーロードされますオーバーライドされます。  
パブリック メソッド FromXml XML エンコーディングから、指定した状態のアクセス許可再構築ます。
パブリック メソッド GetHashCode オーバーライドされますハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用適した PrincipalPermission オブジェクトハッシュ コード取得します
パブリック メソッド GetType  現在のインスタンスType取得します。 (Object から継承されます。)
パブリック メソッド Intersect 現在のアクセス許可指定したアクセス許可積集合を表すアクセス許可作成して返します
パブリック メソッド IsSubsetOf 現在のアクセス許可が、指定したアクセス許可サブセットかどうか判断します
パブリック メソッド IsUnrestricted 現在のアクセス許可無制限かどうかを示す値を返します
パブリック メソッド ReferenceEquals  指定した複数Object インスタンス同一かどうか判断します。 (Object から継承されます。)
パブリック メソッド ToString オーバーライドされます現在のアクセス許可を表す文字列を作成して返します
パブリック メソッド ToXml アクセス許可とその現在の状態を表す XML エンコーディング作成します
パブリック メソッド Union 現在のアクセス許可指定したアクセス許可和集合を表すアクセス許可作成します
参照参照

関連項目

PrincipalPermission クラス
System.Security.Permissions 名前空間
PrincipalPermissionAttribute

その他の技術情報

アクセス許可
アクセス許可要求
プリンシパル



英和和英テキスト翻訳

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

辞書ショートカット

すべての辞書の索引

「PrincipalPermission」の関連用語

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

   

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



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

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

©2026 GRAS Group, Inc.RSS