Практическое руководство. Запрос разрешения для именованного набора разрешений

Важное примечаниеВажно

В версии .NET Framework 4 удалена поддержка среды выполнения для принудительного применения запросов разрешений Deny, RequestMinimum, RequestOptional и RequestRefuse.Эти запросы нельзя использовать в коде, основанном на .NET Framework 4 или более поздних версиях.Дополнительные сведения об этом и других изменениях см. в разделе Изменения системы безопасности в платформе .NET Framework 4.

Вместо того чтобы запрашивать отдельные разрешения (используя RequestMinimum, RequestOptional или RequestRefuse), можно запросить любой из следующих встроенных наборов разрешений: Nothing, Execution, FullTrust, Internet, LocalIntranet и SkipVerification. Нельзя запрашивать пользовательские именованные наборы разрешений или модифицируемый встроенный набор разрешений Everything, поскольку набор предоставляемых ими разрешений может изменяться. Следующий пример демонстрирует синтаксис запроса разрешений для именованного набора разрешений. В нем применяется атрибут PermissionSetAttribute, со значением Name, представляющим имя желаемого набора разрешений.

Пример

Imports System
Imports System.Runtime.InteropServices
Imports System.Security.Permissions
'The attribute is placed at the assembly level.
<assembly: PermissionSetAttribute(SecurityAction.RequestMinimum, Name := "FullTrust")>
Namespace MyNamespace
   Public Class [MyClass]
      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, Name = "FullTrust")]
namespace MyNamespace
{
   using System;
   using System.Runtime.InteropServices;
   
   public class MyClass
   {
      public MyClass()
      {
      }
      public void MyMethod()
      {
      //Perform operations that require permissions here.
      }
   }
}

См. также

Основные понятия

Расширение метаданных с помощью атрибутов

Запрос разрешений

Управление доступом для кода