PrincipalPermission クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
注意事項
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 使用すると、任意のロールと一致します。 つまり、nullにnameまたはrolePrincipalPermissionパラメーターを渡すと、任意のIPrincipalの ID とロールと一致します。 また、PrincipalPermissionが認証されたエンティティと認証されていないエンティティのどちらを表すかのみを決定するIIdentityを構築することもできます。 この場合、 name と role は無視されます。
他のほとんどのアクセス許可とは異なり、 PrincipalPermission は CodeAccessPermissionを拡張しません。 ただし、 IPermission インターフェイスを実装します。 これは、 PrincipalPermission がコード アクセス許可ではなく、実行中のアセンブリの ID に基づいて付与されないためです。 代わりに、コードアクセスとコード ID のアクセス許可に対するアクションの実行方法と一致する方法で、現在のユーザー ID に対してコードでアクション (Demand、 Union、 Intersectなど) を実行できます。
Important
プリンシパルアクセス許可を要求する前に、現在のアプリケーション ドメインのプリンシパル ポリシーを列挙値 WindowsPrincipalに設定する必要があります。 既定では、プリンシパル ポリシーは UnauthenticatedPrincipal に設定されます。 プリンシパル ポリシーを WindowsPrincipal に設定しない場合、プリンシパルアクセス許可の要求は失敗します。 プリンシパルのアクセス許可が要求される前に、次のコードを実行する必要があります。
AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal).
コンストラクター
| 名前 | 説明 |
|---|---|
| PrincipalPermission(PermissionState) |
古い.
指定したPrincipalPermissionを使用して、PermissionState クラスの新しいインスタンスを初期化します。 |
| PrincipalPermission(String, String, Boolean) |
古い.
指定したPrincipalPermission、 |
| PrincipalPermission(String, String) |
古い.
指定したPrincipalPermissionと |
メソッド
| 名前 | 説明 |
|---|---|
| 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) |
古い.
現在のアクセス許可と指定したアクセス許可の和集合であるアクセス許可を作成します。 |