PrincipalPermission コンストラクター

定義

PrincipalPermission クラスの新しいインスタンスを初期化します。Initializes a new instance of the PrincipalPermission class.

オーバーロード

PrincipalPermission(PermissionState)

PrincipalPermission を指定して、PermissionState クラスの新しいインスタンスを初期化します。Initializes a new instance of the PrincipalPermission class with the specified PermissionState.

PrincipalPermission(String, String)

指定した PrincipalPermission および namerole クラスの新しいインスタンスを初期化します。Initializes a new instance of the PrincipalPermission class for the specified name and role.

PrincipalPermission(String, String, Boolean)

指定した PrincipalPermissionname、および認証ステータスの role クラスの新しいインスタンスを初期化します。Initializes a new instance of the PrincipalPermission class for the specified name, role, and authentication status.

PrincipalPermission(PermissionState)

PrincipalPermission を指定して、PermissionState クラスの新しいインスタンスを初期化します。Initializes a new instance of the PrincipalPermission class with the specified PermissionState.

public:
 PrincipalPermission(System::Security::Permissions::PermissionState state);
public PrincipalPermission (System.Security.Permissions.PermissionState state);
new System.Security.Permissions.PrincipalPermission : System.Security.Permissions.PermissionState -> System.Security.Permissions.PrincipalPermission
Public Sub New (state As PermissionState)

パラメーター

state
PermissionState

PermissionState 値の 1 つ。One of the PermissionState values.

例外

state パラメーターが正しい PermissionState ではありません。The state parameter is not a valid PermissionState.

注釈

None は、認証されていないプリンシパルにのみ一致します (Name は空の文字列 ("")、Roleなし、Authenticatedfalse)。None matches only the unauthenticated principal (Name is the empty string (""), no Role, Authenticated is false). Unrestricted はすべてのプリンシパルに一致します (NamenullRolenull)。Unrestricted matches all principals (Name is null, Role is null).

注意

このコンストラクターは、他のアクセス許可の設計との一貫性を維持するために用意されていますが、実際には役に立ちません。This constructor is included for consistency with the design of other permissions, but is not useful in practice.

PrincipalPermission(String, String)

指定した PrincipalPermission および namerole クラスの新しいインスタンスを初期化します。Initializes a new instance of the PrincipalPermission class for the specified name and role.

public:
 PrincipalPermission(System::String ^ name, System::String ^ role);
public PrincipalPermission (string name, string role);
new System.Security.Permissions.PrincipalPermission : string * string -> System.Security.Permissions.PrincipalPermission
Public Sub New (name As String, role As String)

パラメーター

name
String

IPrincipal オブジェクトのユーザーの名前The name of the IPrincipal object's user.

role
String

管理者など、IPrincipal オブジェクトのユーザーのロール。The role of the IPrincipal object's user (for example, Administrator).

次の例では、アクティブなプリンシパルが管理者である必要があります。The following example requires the active principal to be an administrator. name パラメーターは nullであり、管理者であるすべてのユーザーが要求を渡すことができます。The name parameter is null, which enables any user who is an administrator to pass the demand.

メモWindows Vista では、ユーザーアカウント制御 (UAC) によってユーザーの特権が決定されます。Note In Windows Vista, User Account Control (UAC) determines the privileges of a user. ユーザーが組み込みの Administrators グループのメンバーである場合、そのユーザーには標準ユーザー アクセス トークンおよび管理者アクセス トークンの 2 つのランタイム アクセス トークンが割り当てられています。If you are a member of the Built-in Administrators group, you are assigned two run-time access tokens: a standard user access token and an administrator access token. 既定では、ユーザーは標準ユーザー ロールに所属します。By default, you are in the standard user role. 管理者であることを要求するコードを実行するには、最初に、ユーザーの権限を標準ユーザーから管理者に昇格させる必要があります。To execute the code that requires you to be an administrator, you must first elevate your privileges from standard user to administrator. この操作は、アプリケーションの起動時にアプリケーション アイコンを右クリックし、管理者として実行することを指定して行うことができます。You can do this when you start an application by right-clicking the application icon and indicating that you want to run as an administrator.

using namespace System;
using namespace System::Security;
using namespace System::Security::Permissions;
using namespace System::Security::Policy;
using namespace System::Security::Principal;

int main(array<System::String ^> ^args)
{
    System::String^ null;
    AppDomain::CurrentDomain->SetPrincipalPolicy(PrincipalPolicy::WindowsPrincipal);
    PrincipalPermission^ principalPerm = gcnew PrincipalPermission(null, "Administrators" );
      principalPerm->Demand();
      Console::WriteLine("Demand succeeded");
    return 0;
}
using System;
using System.Threading;
using System.Security.Permissions;
using System.Security.Principal;

class SecurityPrincipalDemo
{

    public static void Main()
    {
        AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal);
        PrincipalPermission principalPerm = new PrincipalPermission(null, "Administrators");
        principalPerm.Demand();
        Console.WriteLine("Demand succeeded.");
    }
}
Imports System.Threading
Imports System.Security.Permissions
Imports System.Security.Principal



Class SecurityPrincipalDemo


    Public Shared Sub Main()
        AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal)
        Dim principalPerm As New PrincipalPermission(Nothing, "Administrators")
        principalPerm.Demand()
        Console.WriteLine("Demand succeeded.")

    End Sub
End Class

注釈

このアクセス許可がアクティブな IPrincipal と関連付けられている IIdentityと一致するためには、name パラメーターと role パラメーターの両方が一致している必要があります。Both the name parameter and the role parameter must match for this permission to match the active IPrincipal and associated IIdentity. ロール内のユーザーを確認するには、namenull に設定します。Set name to null to check for any user in a role.

PrincipalPermission(String, String, Boolean)

指定した PrincipalPermissionname、および認証ステータスの role クラスの新しいインスタンスを初期化します。Initializes a new instance of the PrincipalPermission class for the specified name, role, and authentication status.

public:
 PrincipalPermission(System::String ^ name, System::String ^ role, bool isAuthenticated);
public PrincipalPermission (string name, string role, bool isAuthenticated);
new System.Security.Permissions.PrincipalPermission : string * string * bool -> System.Security.Permissions.PrincipalPermission
Public Sub New (name As String, role As String, isAuthenticated As Boolean)

パラメーター

name
String

IPrincipal オブジェクトのユーザーの名前The name of the IPrincipal object's user.

role
String

管理者など、IPrincipal オブジェクトのユーザーのロール。The role of the IPrincipal object's user (for example, Administrator).

isAuthenticated
Boolean

ユーザーが認証されていることを示す場合は true。それ以外の場合は falsetrue to signify that the user is authenticated; otherwise, false.

注釈

このアクセス許可がアクティブな IPrincipal と関連付けられている IIdentityと一致するためには、name パラメーターと role パラメーターの両方が一致している必要があります。Both the name parameter and the role parameter must match for this permission to match the active IPrincipal and associated IIdentity.

適用対象