PrincipalPermission クラス

定義

注意事項

Code Access Security is not supported or honored by the runtime.

宣言型と命令型の両方のセキュリティ アクションに対して定義された言語コンストラクトを使用して、アクティブ プリンシパルに対するチェックを許可します ( IPrincipal参照)。 このクラスは継承できません。

public ref class PrincipalPermission sealed : System::Security::IPermission, System::Security::Permissions::IUnrestrictedPermission
[System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public sealed class PrincipalPermission : System.Security.IPermission, System.Security.Permissions.IUnrestrictedPermission
[System.Serializable]
public sealed class PrincipalPermission : System.Security.IPermission, System.Security.Permissions.IUnrestrictedPermission
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class PrincipalPermission : System.Security.IPermission, System.Security.Permissions.IUnrestrictedPermission
public sealed class PrincipalPermission : System.Security.IPermission, System.Security.Permissions.IUnrestrictedPermission
[<System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type PrincipalPermission = class
    interface IPermission
    interface ISecurityEncodable
    interface IUnrestrictedPermission
[<System.Serializable>]
type PrincipalPermission = class
    interface IPermission
    interface IUnrestrictedPermission
    interface ISecurityEncodable
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type PrincipalPermission = class
    interface IPermission
    interface IUnrestrictedPermission
    interface ISecurityEncodable
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type PrincipalPermission = class
    interface IPermission
    interface ISecurityEncodable
    interface IUnrestrictedPermission
type PrincipalPermission = class
    interface IPermission
    interface ISecurityEncodable
    interface IUnrestrictedPermission
Public NotInheritable Class PrincipalPermission
Implements IPermission, IUnrestrictedPermission
継承
PrincipalPermission
属性
実装

注釈

Caution

コード アクセス セキュリティ (CAS) は、.NET Framework と .NET のすべてのバージョンで非推奨になりました。 最近のバージョンの .NET では、CAS に関連する API が使用されている場合、CAS 注釈は使用されず、エラーが発生します。 開発者は、セキュリティ タスクを実行するための代替手段を求める必要があります。

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

アクティブな IPrincipal と関連付けられている IIdentityを照合するには、指定した ID とロールの両方が一致する必要があります。 id 文字列 null 使用される場合は、任意の ID に一致する要求として解釈されます。 ロール文字列 null 使用すると、任意のロールと一致します。 つまり、nullnameまたはrolePrincipalPermissionパラメーターを渡すと、任意のIPrincipalの ID とロールと一致します。 また、PrincipalPermissionが認証されたエンティティと認証されていないエンティティのどちらを表すかのみを決定するIIdentityを構築することもできます。 この場合、 namerole は無視されます。

他のほとんどのアクセス許可とは異なり、 PrincipalPermissionCodeAccessPermissionを拡張しません。 ただし、 IPermission インターフェイスを実装します。 これは、 PrincipalPermission がコード アクセス許可ではなく、実行中のアセンブリの ID に基づいて付与されないためです。 代わりに、コードアクセスとコード ID のアクセス許可に対するアクションの実行方法と一致する方法で、現在のユーザー ID に対してコードでアクション (DemandUnionIntersectなど) を実行できます。

Important

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

AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal).

コンストラクター

名前 説明
PrincipalPermission(PermissionState)
古い.

指定したPrincipalPermissionを使用して、PermissionState クラスの新しいインスタンスを初期化します。

PrincipalPermission(String, String, Boolean)
古い.

指定したPrincipalPermissionname、および認証状態に対して、role クラスの新しいインスタンスを初期化します。

PrincipalPermission(String, String)
古い.

指定したPrincipalPermissionnamerole クラスの新しいインスタンスを初期化します。

メソッド

名前 説明
Copy()
古い.

現在のアクセス許可と同じコピーを作成して返します。

Demand()
古い.

現在のプリンシパルが、現在のアクセス許可で指定されたプリンシパルと一致するかどうかを実行時に判断します。

Equals(Object)
古い.

指定した PrincipalPermission オブジェクトが現在の PrincipalPermissionと等しいかどうかを判断します。

Equals(Object)
古い.

指定したオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
FromXml(SecurityElement)
古い.

XML エンコードから、指定された状態のアクセス許可を再構築します。

GetHashCode()
古い.

ハッシュ アルゴリズムやハッシュ テーブルなどのデータ構造で使用するのに適した PrincipalPermission オブジェクトのハッシュ コードを取得します。

GetHashCode()
古い.

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()
古い.

現在のインスタンスの Type を取得します。

(継承元 Object)
Intersect(IPermission)
古い.

現在のアクセス許可と指定したアクセス許可の積集合であるアクセス許可を作成して返します。

IsSubsetOf(IPermission)
古い.

現在のアクセス許可が指定のアクセス許可のサブセットかどうかを決定します。

IsUnrestricted()
古い.

現在のアクセス許可が無制限かどうかを示す値を返します。

MemberwiseClone()
古い.

現在の Objectの簡易コピーを作成します。

(継承元 Object)
ToString()
古い.

現在のアクセス許可を表す文字列を作成して返します。

ToXml()
古い.

アクセス許可とその現在の状態の XML エンコードを作成します。

Union(IPermission)
古い.

現在のアクセス許可と指定したアクセス許可の和集合であるアクセス許可を作成します。

適用対象

こちらもご覧ください