要求 XML 編碼的使用權限

如果您需要要求自訂使用權限集合 (使用 RequestMinimumRequestOptionalRequestRefuse),則可以利用下列兩種方法的其中一個來使用所需使用權限集合的 XML 表示:您可以傳遞包含實際 XML 編碼使用權限集合的字串,或者提供包含該編碼使用權限集合的 XML 檔的位置。下列範例將以 PermissionSetAttribute 使用 XML。XML 旗標是一個包含 XML 編碼的使用權限集合的字串,在本範例中是表示一個未受限的 UIPermission 和一個未受限的 RegistryPermission

範例

'The attribute is placed at the assembly level.
Imports System
Imports System.Runtime.InteropServices
Imports System.Security.Permissions
<assembly: PermissionSetAttribute(SecurityAction.RequestMinimum, XML := "<PermissionSet class=""System.Security.PermissionSet"" version=""1""><Permission class=""System.Security.Permissions.UIPermission, mscorlib"" version=""1""><AllWindows/></Permission><Permission class=""System.Security.Permissions.RegistryPermission, mscorlib"" version=""1""><Unrestricted/></Permission></PermissionSet>")>
Namespace MyNamespace
   Public Class MyClass1
      Public Sub New()
      End Sub

      Public Sub MyMethod()
         'Perform user interface operations here.
      End Sub
   End Class
End Namespace
//The attribute is placed at the assembly level.
using System.Security.Permissions;
[assembly:PermissionSetAttribute(SecurityAction.RequestMinimum, XML="<PermissionSet class=\"System.Security.PermissionSet\" version=\"1\"><Permission class=\"System.Security.Permissions.UIPermission, mscorlib\" version=\"1\"><AllWindows/></Permission><Permission class=\"System.Security.Permissions.RegistryPermission, mscorlib\" version=\"1\"><Unrestricted/></Permission></PermissionSet>")]
namespace MyNamespace 
{
   using System;
   using System.Runtime.InteropServices;
   public class MyClass 
   {
      public MyClass() 
      {
      }
      public void MyMethod() 
      {
        //Perform user interface operations here.
      }
   }
}

以下的範例將說明包含相同 XML 編碼的使用權限集合的檔案,並提供其檔案位置和名稱來要求一個自訂的使用權限集合。如果您沒有指定 XML 檔案的位置,Runtime 將在含有該應用程式的相同目錄中尋找。

Imports System
Imports System.Runtime.InteropServices
Imports System.Security.Permissions
'The attribute is placed at the assembly level.
<assembly: PermissionSetAttribute(SecurityAction.RequestMinimum, File := "pset.xml")>

Namespace MyNamespace
   Public Class MyClass1
      Public Sub New()
      End Sub 
      
      Public Sub MyMethod()
         'Perform operations that require permissions here.
      End Sub
   End Class
End Namespace
//The attribute is placed at the assembly level.
using System.Security.Permissions;
[assembly:PermissionSetAttribute(SecurityAction.RequestMinimum, File = "pset.xml")]
namespace MyNamespace 
{
   using System;
   using System.Runtime.InteropServices;
   
   public class MyClass 
   {
      public MyClass() 
      {
      }
      public void MyMethod() 
      {
          //Perform operations that require permissions here.
      }
   }
}

建立 XML 編碼的使用權限集合

您可以建立 PermissionSet 物件的執行個體,將需要的使用權限執行個體加入至物件,然後呼叫 ToXml 方法以傳回表示 XML 編碼的 SecurityElement 物件,或呼叫 ToString 方法以傳回表示 XML 編碼的字串,來建立 XML 編碼的使用權限集合。

請參閱

參考

PermissionSetAttribute Class
PermissionSet Class

概念

要求使用權限

其他資源

中繼資料和自我描述元件
使用屬性擴充中繼資料
程式碼存取安全性