FileIOPermissionAttribute Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Przestroga
Code Access Security is not supported or honored by the runtime.
Umożliwia stosowanie akcji zabezpieczeń FileIOPermission do kodu przy użyciu zabezpieczeń deklaratywnych. Tej klasy nie można dziedziczyć.
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)]
[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)]
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}")>]
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
[<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
Public NotInheritable Class FileIOPermissionAttribute
Inherits CodeAccessSecurityAttribute
- Dziedziczenie
- Atrybuty
Przykłady
W poniższym przykładzie kodu pokazano, jak zażądać FileIOPermission przy użyciu klasy FileIOPermissionAttribute, 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 miał nieograniczony FileIOPermission. Zazwyczaj żądania są wymagane w bibliotekach zarządzanych (DLL), aby 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
Ostrożność
Zabezpieczenia dostępu kodu (CAS) zostały wycofane we wszystkich wersjach programu .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 jest przeprowadzane sprawdzanie zabezpieczeń podczas tworzenia lub otwierania pliku. Sprawdzanie zabezpieczeń nie jest wykonywane ponownie, chyba że plik zostanie zamknięty i ponownie otwarty. Sprawdzanie uprawnień po pierwszym dostępie do pliku minimalizuje wpływ kontroli 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.
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ń.
Ostrożność
Unrestricted
FileIOPermission 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 pojedynczego pliku. Aby Deny dostęp do pliku, należy Deny
wszystkich możliwych ścieżek do pliku. Jeśli na przykład \\server\share jest mapowany na dysk sieciowy X, aby Deny
dostęp do \\server\share\file, musisz Deny
\\server\share\file, X:\file i inną ścieżkę, której można użyć, aby uzyskać dostęp do pliku.
Konstruktory
FileIOPermissionAttribute(SecurityAction) |
Przestarzałe.
Inicjuje nowe wystąpienie klasy FileIOPermissionAttribute z określonym SecurityAction. |
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 Attribute. (Odziedziczone po Attribute) |
Unrestricted |
Przestarzałe.
Pobiera lub ustawia wartość wskazującą, czy jest zadeklarowane 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świetlić 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 FileIOPermission. |
Equals(Object) |
Przestarzałe.
Zwraca wartość wskazującą, czy to wystąpienie jest równe określonemu obiektowi. (Odziedziczone po Attribute) |
GetHashCode() |
Przestarzałe.
Zwraca kod skrótu dla tego wystąpienia. (Odziedziczone po Attribute) |
GetType() |
Przestarzałe.
Pobiera Type bieżącego wystąpienia. (Odziedziczone po Object) |
IsDefaultAttribute() |
Przestarzałe.
Po zastąpieniu 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 zastąpieniu 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 Object. (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.
Mapuje zestaw nazw na odpowiedni zestaw identyfikatorów wysyłki. (Odziedziczone po Attribute) |
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) |
Przestarzałe.
Pobiera informacje o typie obiektu, którego można użyć do uzyskania informacji o typie dla interfejsu. (Odziedziczone po Attribute) |
_Attribute.GetTypeInfoCount(UInt32) |
Przestarzałe.
Pobiera liczbę interfejsów informacyjnych typu zapewnianych przez obiekt (0 lub 1). (Odziedziczone po Attribute) |
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) |
Przestarzałe.
Zapewnia dostęp do właściwości i metod uwidocznionych przez obiekt. (Odziedziczone po Attribute) |