FileIOPermissionAttribute Класс

Определение

Внимание!

Code Access Security is not supported or honored by the runtime.

Разрешает применять меры безопасности для FileIOPermission к коду с помощью декларативной безопасности. Этот класс не наследуется.

public ref class FileIOPermissionAttribute sealed : System::Security::Permissions::CodeAccessSecurityAttribute
[System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)]
public sealed class FileIOPermissionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute
[System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)]
[System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public sealed class FileIOPermissionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute
[System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)]
[System.Serializable]
public sealed class FileIOPermissionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute
[System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)]
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class FileIOPermissionAttribute : System.Security.Permissions.CodeAccessSecurityAttribute
[<System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)>]
type FileIOPermissionAttribute = class
    inherit CodeAccessSecurityAttribute
[<System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)>]
[<System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type FileIOPermissionAttribute = class
    inherit CodeAccessSecurityAttribute
[<System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)>]
[<System.Serializable>]
type FileIOPermissionAttribute = class
    inherit CodeAccessSecurityAttribute
[<System.AttributeUsage(System.AttributeTargets.Assembly | System.AttributeTargets.Class | System.AttributeTargets.Constructor | System.AttributeTargets.Method | System.AttributeTargets.Struct, AllowMultiple=true, Inherited=false)>]
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type FileIOPermissionAttribute = class
    inherit CodeAccessSecurityAttribute
Public NotInheritable Class FileIOPermissionAttribute
Inherits CodeAccessSecurityAttribute
Наследование
Атрибуты

Примеры

В следующем примере кода показано, как выполнять запрос FileIOPermission с помощью FileIOPermissionAttribute класса , указывая единственное разрешение, которое должно быть предоставлено коду.

[FileIOPermissionAttribute(SecurityAction::PermitOnly,ViewAndModify="C:\\example\\sample.txt")]
[FileIOPermissionAttribute(SecurityAction.PermitOnly, ViewAndModify = "C:\\example\\sample.txt")]
<FileIOPermissionAttribute(SecurityAction.PermitOnly, _
ViewAndModify:="C:\example\sample.txt")> Public Class SampleClass

В следующем примере показано, как требовать, чтобы вызывающий код неограничил FileIOPermission. Как правило, вы предъявляете требования в управляемых библиотеках (DLL) для защиты методов или классов от потенциально опасного кода.

[FileIOPermissionAttribute(SecurityAction::Demand,Unrestricted=true)]
[FileIOPermissionAttribute(SecurityAction.Demand, Unrestricted=true)]
<FileIOPermissionAttribute(SecurityAction.Demand, _
 Unrestricted := True)> Public Class SampleClass

Комментарии

Внимание!

Безопасность доступа к коду (CAS) является устаревшей во всех версиях платформа .NET Framework и .NET. В последних версиях .NET заметки CAS не учитываются и при использовании API, связанных с CAS, возникают ошибки. Разработчикам следует искать альтернативные способы выполнения задач безопасности.

Файлы и каталоги указываются с помощью абсолютных путей. При доступе к файлам при создании или открытии файла выполняется проверка безопасности. Проверка безопасности не будет выполнена повторно, если файл не будет закрыт и повторно открыт. Проверка разрешений при первом доступе к файлу сводит к минимуму влияние проверки безопасности на производительность приложения, так как открытие файла происходит только один раз, а чтение и запись могут выполняться несколько раз.

Область допустимого объявления зависит от используемого SecurityAction объекта .

Сведения о безопасности, объявленные атрибутом безопасности, хранятся в метаданных целевого атрибута и доступны системе во время выполнения. Атрибуты безопасности используются только для декларативной безопасности. Для обеспечения императивной безопасности используйте соответствующий класс разрешений.

Внимание!

UnrestrictedFileIOPermission предоставляет разрешения для всех путей в файловой системе, включая несколько имен путей, которые можно использовать для доступа к одному заданному файлу. Чтобы Deny получить доступ к файлу, необходимо Deny указать все возможные пути к файлу. Например, если \\server\share сопоставлен с сетевым диском X, для доступа к Deny \\server\share\file необходимо Deny \\server\share\file, X:\file и любой другой путь, который можно использовать для доступа к файлу.

Конструкторы

FileIOPermissionAttribute(SecurityAction)
Устаревшие..

Инициализирует новый экземпляр класса FileIOPermissionAttribute указанным значением SecurityAction.

Свойства

Action
Устаревшие..

Возвращает или задает действие по обеспечению безопасности.

(Унаследовано от SecurityAttribute)
All
Устаревшие..
Устаревшие..
Устаревшие..

Возвращает или устанавливает полный доступ к файлу или каталогу, заданному строковым значением.

AllFiles
Устаревшие..

Получает или задает разрешенный доступ ко всем файлам.

AllLocalFiles
Устаревшие..

Получает или задает разрешенный доступ ко всем локальным файлам.

Append
Устаревшие..

Возвращает или устанавливает доступ к файлу или каталогу, заданному строковым значением.

ChangeAccessControl
Устаревшие..

Возвращает или задает файл или каталог, для которого можно изменить данные управления доступом.

PathDiscovery
Устаревшие..

Возвращает или задает файл или каталог, для которого необходимо предоставить разрешение обнаружения пути.

Read
Устаревшие..

Возвращает или устанавливает доступ на чтение для файла или каталога, заданного строковым значением.

TypeId
Устаревшие..

В случае реализации в производном классе возвращает уникальный идентификатор для этого атрибута Attribute.

(Унаследовано от Attribute)
Unrestricted
Устаревшие..

Возвращает или задает значение, определяющее, объявлено ли полное (неограниченное) разрешение доступа к ресурсу, защищенному атрибутом.

(Унаследовано от SecurityAttribute)
ViewAccessControl
Устаревшие..

Возвращает или задает файл или каталог, для которого можно просмотреть данные управления доступом.

ViewAndModify
Устаревшие..

Возвращает или задает файл или каталог, в котором можно просмотреть и изменить данные файла.

Write
Устаревшие..

Возвращает или устанавливает доступ на запись для файла или каталога, заданного строковым значением.

Методы

CreatePermission()
Устаревшие..

Создает и возвращает новый объект FileIOPermission.

Equals(Object)
Устаревшие..

Возвращает значение, показывающее, равен ли экземпляр указанному объекту.

(Унаследовано от Attribute)
GetHashCode()
Устаревшие..

Возвращает хэш-код данного экземпляра.

(Унаследовано от Attribute)
GetType()
Устаревшие..

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
IsDefaultAttribute()
Устаревшие..

При переопределении в производном классе указывает, является ли значение этого экземпляра значением по умолчанию для производного класса.

(Унаследовано от Attribute)
Match(Object)
Устаревшие..

При переопределении в производном классе возвращает значение, указывающее, является ли этот экземпляр равным заданному объекту.

(Унаследовано от Attribute)
MemberwiseClone()
Устаревшие..

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
ToString()
Устаревшие..

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Явные реализации интерфейса

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)
Устаревшие..

Сопоставляет набор имен соответствующему набору идентификаторов диспетчеризации.

(Унаследовано от Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)
Устаревшие..

Возвращает сведения о типе объекта, которые можно использовать для получения сведений о типе интерфейса.

(Унаследовано от Attribute)
_Attribute.GetTypeInfoCount(UInt32)
Устаревшие..

Возвращает количество предоставляемых объектом интерфейсов для доступа к сведениям о типе (0 или 1).

(Унаследовано от Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)
Устаревшие..

Предоставляет доступ к открытым свойствам и методам объекта.

(Унаследовано от Attribute)

Применяется к

См. также раздел