共用方式為


執行宣告式安全性檢查

PrincipalPermission 的宣告式要求與程式碼存取使用權限的宣告式要求作用相同。 要求不但可以放在類別層級,而且可以放在個別的方法、屬性或事件上。 如果類別和成員層級都放置宣告式要求,成員上的宣告式要求將覆寫 (或取代) 類別層級上的要求。

下列程式碼範例示範前面章節範例中 PrivateInfo 方法的修改版本。 這個版本使用宣告式安全性。 PrincipalPermissionAttribute 定義目前執行緒必須擁有來叫用 (Invoke) 方法的主體。 只要以您需要的名稱和角色傳遞 SecurityAction.Demand

      [PrincipalPermissionAttribute(SecurityAction.Demand, Name = "MyUser", Role = "User")]
      public static void PrivateInfo()
      {   
         //Print secret data.
         Console.WriteLine("\n\nYou have access to the private data!");
      }
    Public Shared Sub _
    <PrincipalPermissionAttribute(SecurityAction.Demand, Name := "MyUser", Role := "User")> _
    PrivateInfo()
    
        'Print secret data.
        Console.WriteLine(ControlChars.CrLf + "You have access to the private data!")
    End Sub

如果目前執行緒不包含正確的主體,這個方法會擲回安全性例外狀況。 如果使用者輸入 1,則會叫用 PrivateInfo 方法並在主控台顯示下列訊息。

You have access to the private data!

請參閱

參考

PrincipalPermission

概念

以角色為基礎的安全性檢查