FileIOPermissionAttribute Klasa

Definicja

Przestroga

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

Umożliwia stosowanie akcji FileIOPermission zabezpieczeń do kodu przy użyciu zabezpieczeń deklaratywnych. Klasa ta nie może być dziedziczona.

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
Dziedziczenie
Atrybuty

Przykłady

W poniższym przykładzie kodu pokazano, jak żądać FileIOPermission przy użyciu FileIOPermissionAttribute klasy, wskazując jedyne uprawnienie, które ma zostać przyznane kodowi.

[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

W poniższym przykładzie pokazano, jak zażądać, aby kod wywołujący nie miał ograniczeń FileIOPermission. Zwykle wymaganie w bibliotekach zarządzanych (DLL) pomaga chronić metody lub klasy przed potencjalnie szkodliwym kodem.

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

Uwagi

Przestroga

Zabezpieczenia dostępu kodu (CAS) zostały uznane za przestarzałe we wszystkich wersjach .NET Framework i .NET. Najnowsze wersje platformy .NET nie honorują adnotacji CAS i generują błędy, jeśli są używane interfejsy API związane z usługą CAS. Deweloperzy powinni szukać alternatywnych sposobów wykonywania zadań zabezpieczeń.

Pliki i katalogi są określane przy użyciu ścieżek bezwzględnych. Podczas uzyskiwania dostępu do plików podczas tworzenia lub otwierania pliku jest przeprowadzane sprawdzanie zabezpieczeń. Sprawdzanie zabezpieczeń nie jest wykonywane ponownie, chyba że plik zostanie zamknięty i ponownie otwarty. Sprawdzanie uprawnień podczas pierwszego uzyskiwania dostępu do pliku minimalizuje wpływ sprawdzania zabezpieczeń na wydajność aplikacji, ponieważ otwieranie pliku odbywa się tylko raz, podczas gdy odczyt i zapis mogą wystąpić wiele razy.

Zakres dozwolonej deklaracji zależy od używanej SecurityAction wartości.

Informacje o zabezpieczeniach zadeklarowane przez atrybut zabezpieczeń są przechowywane w metadanych obiektu docelowego atrybutu i są dostępne przez system w czasie wykonywania. Atrybuty zabezpieczeń są używane tylko w przypadku zabezpieczeń deklaratywnych. W przypadku zabezpieczeń imperatywnych użyj odpowiedniej klasy uprawnień.

Przestroga

UnrestrictedFileIOPermission udziela uprawnień do wszystkich ścieżek w systemie plików, w tym wielu nazw ścieżek, których można użyć do uzyskania dostępu do jednego danego pliku. Aby Deny uzyskać dostęp do pliku, musisz Deny wszystkie możliwe ścieżki do pliku. Jeśli na przykład \\server\share jest mapowany na dysk sieciowy X, aby Deny uzyskać dostęp do \\server\share\file, musisz Deny \\server\share\file, X:\file i inną ścieżkę, której można użyć do uzyskania dostępu do pliku.

Konstruktory

FileIOPermissionAttribute(SecurityAction)
Przestarzałe.

Inicjuje FileIOPermissionAttribute nowe wystąpienie klasy z określonym SecurityActionelementem .

Właściwości

Action
Przestarzałe.

Pobiera lub ustawia akcję zabezpieczeń.

(Odziedziczone po SecurityAttribute)
All
Przestarzałe.
Przestarzałe.

Pobiera lub ustawia pełny dostęp dla pliku lub katalogu określonego przez wartość ciągu.

AllFiles
Przestarzałe.

Pobiera lub ustawia dozwolony dostęp do wszystkich plików.

AllLocalFiles
Przestarzałe.

Pobiera lub ustawia dozwolony dostęp do wszystkich plików lokalnych.

Append
Przestarzałe.

Pobiera lub ustawia dołączanie dostępu do pliku lub katalogu określonego przez wartość ciągu.

ChangeAccessControl
Przestarzałe.

Pobiera lub ustawia plik lub katalog, w którym można zmienić informacje kontroli dostępu.

PathDiscovery
Przestarzałe.

Pobiera lub ustawia plik lub katalog, do którego ma być przydzielane odnajdywanie ścieżek.

Read
Przestarzałe.

Pobiera lub ustawia dostęp do odczytu dla pliku lub katalogu określonego przez wartość ciągu.

TypeId
Przestarzałe.

Po zaimplementowaniu w klasie pochodnej pobiera unikatowy identyfikator dla tego Attributeelementu .

(Odziedziczone po Attribute)
Unrestricted
Przestarzałe.

Pobiera lub ustawia wartość wskazującą, czy zadeklarowane jest pełne (nieograniczone) uprawnienie do zasobu chronionego przez atrybut.

(Odziedziczone po SecurityAttribute)
ViewAccessControl
Przestarzałe.

Pobiera lub ustawia plik lub katalog, w którym można wyświetlać informacje kontroli dostępu.

ViewAndModify
Przestarzałe.

Pobiera lub ustawia plik lub katalog, w którym można wyświetlać i modyfikować dane plików.

Write
Przestarzałe.

Pobiera lub ustawia dostęp do zapisu dla pliku lub katalogu określonego przez wartość ciągu.

Metody

CreatePermission()
Przestarzałe.

Tworzy i zwraca nowy FileIOPermissionelement .

Equals(Object)
Przestarzałe.

Zwraca wartość wskazującą, czy to wystąpienie jest równe podanemu obiektowi.

(Odziedziczone po Attribute)
GetHashCode()
Przestarzałe.

Zwraca wartość skrótu dla tego wystąpienia.

(Odziedziczone po Attribute)
GetType()
Przestarzałe.

Type Pobiera wartość bieżącego wystąpienia.

(Odziedziczone po Object)
IsDefaultAttribute()
Przestarzałe.

Podczas zastępowania w klasie pochodnej wskazuje, czy wartość tego wystąpienia jest wartością domyślną dla klasy pochodnej.

(Odziedziczone po Attribute)
Match(Object)
Przestarzałe.

Po przesłonięciu w klasie pochodnej zwraca wartość wskazującą, czy to wystąpienie jest równe określonemu obiektowi.

(Odziedziczone po Attribute)
MemberwiseClone()
Przestarzałe.

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ToString()
Przestarzałe.

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Jawne implementacje interfejsu

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)
Przestarzałe.

Zestaw nazw jest mapowany na odpowiedni zestaw identyfikatorów wysyłania.

(Odziedziczone po Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)
Przestarzałe.

Pobiera informacje o typie dla obiektu, który może służyć do pobierania informacji o typie dla interfejsu.

(Odziedziczone po Attribute)
_Attribute.GetTypeInfoCount(UInt32)
Przestarzałe.

Pobiera informację o liczbie typów interfejsów, jakie zawiera obiekt (0 lub 1).

(Odziedziczone po Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)
Przestarzałe.

Umożliwia dostęp do właściwości i metod udostępnianych przez obiekt.

(Odziedziczone po Attribute)

Dotyczy

Zobacz też