PrincipalPermission 建構函式
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
初始化 PrincipalPermission 類別的新執行個體。
多載
PrincipalPermission(PermissionState) |
使用指定的 PrincipalPermission 初始化 PermissionState 類別的新執行個體。 |
PrincipalPermission(String, String) |
為指定的 |
PrincipalPermission(String, String, Boolean) |
針對指定的 |
PrincipalPermission(PermissionState)
使用指定的 PrincipalPermission 初始化 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 值。
例外狀況
state
參數不是有效的 PermissionState。
備註
None
只會比對未經驗證的主體 (Name 是空字串 (“”) ,沒有 ,Authenticated則Role不會 false
) 。
Unrestricted
符合所有主體, (Name 為 null
, Role 則 null
為) 。
注意
此建構函式包含在內,以便與其他許可權的設計一致,但在實務上並不實用。
適用於
PrincipalPermission(String, String)
為指定的 name
和 role
初始化 PrincipalPermission 類別的新執行個體。
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 物件的使用者名稱。
- role
- String
IPrincipal 物件的使用者角色 (例如系統管理員)。
範例
下列範例需要作用中主體為系統管理員。 參數 name
為 null
,可讓系統管理員的任何用戶傳遞需求。
注意 在 Windows Vista 中,用戶帳戶控制 (UAC) 決定使用者的許可權。 如果您是內建 Administrators 群組的成員,系統會將兩個執行階段存取語彙基元 (Token) 指派給您:標準使用者存取語彙基元及管理員存取語彙基元。 根據預設,您會屬於標準使用者角色。 若要執行需要您是系統管理員的程式碼,您必須先將權限從標準使用者提高為系統管理員。 您可以在啟動應用程式時,以滑鼠右鍵按一下應用程式圖示,並指出您想要以系統管理員身分執行,藉此提高為系統管理員權限。
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
備註
name
參數和 role
參數必須符合這個許可權,才能比對作用IPrincipal中和相關聯的 IIdentity。 設定 name
為 null
以檢查角色中的任何使用者。
適用於
PrincipalPermission(String, String, Boolean)
針對指定的 name
、role
和驗證狀態,初始化 PrincipalPermission 類別的新執行個體。
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 物件的使用者名稱。
- role
- String
IPrincipal 物件的使用者角色 (例如系統管理員)。
- isAuthenticated
- Boolean
true
表示要驗證使用者;否則為 false
。
備註
name
參數和 role
參數必須符合這個許可權,才能比對作用IPrincipal中和相關聯的 IIdentity。