FileIOPermission Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee bepaalt u de mogelijkheid om toegang te krijgen tot bestanden en mappen. Deze klasse kan niet worden overgenomen.
public ref class FileIOPermission sealed : System::Security::CodeAccessPermission, System::Security::Permissions::IUnrestrictedPermission
[System.Serializable]
public sealed class FileIOPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IUnrestrictedPermission
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class FileIOPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IUnrestrictedPermission
[<System.Serializable>]
type FileIOPermission = class
inherit CodeAccessPermission
interface IUnrestrictedPermission
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type FileIOPermission = class
inherit CodeAccessPermission
interface IUnrestrictedPermission
Public NotInheritable Class FileIOPermission
Inherits CodeAccessPermission
Implements IUnrestrictedPermission
- Overname
- Kenmerken
- Implementeringen
Opmerkingen
Caution
Cas (Code Access Security) is afgeschaft in alle versies van .NET Framework en .NET. Recente versies van .NET respecteren geen CAS-aantekeningen en produceren fouten als CAS-gerelateerde API's worden gebruikt. Ontwikkelaars moeten alternatieve manieren zoeken om beveiligingstaken uit te voeren.
Met deze machtiging wordt onderscheid gemaakt tussen de volgende vier typen io-toegang die wordt geboden door FileIOPermissionAccess:
Read: Lees toegang tot de inhoud van het bestand of toegang tot informatie over het bestand, zoals de lengte of laatste wijzigingstijd.Write: Schrijf toegang tot de inhoud van het bestand of toegang om informatie over het bestand te wijzigen, zoals de naam. Hiermee kunt u ook verwijderen en overschrijven.Append: De mogelijkheid om alleen naar het einde van een bestand te schrijven. Geen mogelijkheid om te lezen.PathDiscovery: Toegang tot de informatie in het pad zelf. Hiermee kunt u gevoelige informatie in het pad beveiligen, zoals gebruikersnamen, evenals informatie over de mapstructuur die in het pad wordt weergegeven. Deze waarde verleent geen toegang tot bestanden of mappen die worden vertegenwoordigd door het pad.
Note
Het verlenen Write van toegang tot een assembly is vergelijkbaar met het verlenen van volledig vertrouwen. Als een toepassing niet naar het bestandssysteem mag schrijven, mag deze geen toegang hebben Write .
Al deze machtigingen zijn onafhankelijk, wat betekent dat rechten voor de ene geen rechten voor een ander impliceren. De machtiging impliceert bijvoorbeeld Write geen machtiging voor Read of Append. Als meer dan één machtiging gewenst is, kunnen ze worden gecombineerd met een bitsgewijze OF, zoals wordt weergegeven in het volgende codevoorbeeld. Bestandsmachtiging wordt gedefinieerd in termen van canonieke absolute paden; aanroepen moeten altijd worden uitgevoerd met canonieke bestandspaden.
FileIOPermission beschrijft beveiligde bewerkingen voor bestanden en mappen. De File klasse biedt veilige toegang tot bestanden en mappen. De beveiligingstoegangscontrole wordt uitgevoerd wanneer de ingang voor het bestand wordt gemaakt. Door de controle tijdens het maken uit te voeren, wordt de invloed van de prestaties van de beveiligingscontrole geminimaliseerd. Het openen van een bestand vindt eenmaal plaats, terwijl lezen en schrijven meerdere keren kan plaatsvinden. Zodra het bestand is geopend, worden er geen controles meer uitgevoerd. Als het object wordt doorgegeven aan een niet-vertrouwde beller, kan het worden misbruikt. Bestandsingangen mogen bijvoorbeeld niet worden opgeslagen in openbare globale statische gegevens, waarbij code met minder machtigingen er toegang toe heeft.
FileIOPermissionAccess hiermee geeft u acties op die kunnen worden uitgevoerd op het bestand of de map. Daarnaast kunnen deze acties worden gecombineerd met behulp van een bitwise OR om complexe exemplaren te vormen.
Toegang tot een map impliceert toegang tot alle bestanden die deze bevat, evenals toegang tot alle bestanden en mappen in de submappen. Bijvoorbeeld: Read toegang tot C:\folder1\ impliceert Read toegang tot C:\folder1\file1.txt, C:\folder1\folder2\, C:\folder1\folder2\file2.txt, enzovoort.
Note
In versies van het .NET Framework vóór de .NET Framework 4 kunt u de methode CodeAccessPermission.Deny gebruiken om onbedoelde toegang tot systeembronnen door vertrouwde code te voorkomen. Deny is nu verouderd en de toegang tot resources wordt nu alleen bepaald door de verleende machtigingenset voor een assembly. Als u de toegang tot bestanden wilt beperken, moet u gedeeltelijk vertrouwde code uitvoeren in een sandbox en deze machtigingen alleen toewijzen aan resources waartoe de code toegang heeft. Zie Procedure: Gedeeltelijk vertrouwde code uitvoeren in een sandbox voor meer informatie over het uitvoeren van een toepassing in een sandbox.
Constructors
| Name | Description |
|---|---|
| FileIOPermission(FileIOPermissionAccess, AccessControlActions, String) |
Initialiseert een nieuw exemplaar van de FileIOPermission klasse met de opgegeven toegang tot het aangewezen bestand of de opgegeven map en de opgegeven toegangsrechten voor bestandsbeheergegevens. |
| FileIOPermission(FileIOPermissionAccess, AccessControlActions, String[]) |
Initialiseert een nieuw exemplaar van de FileIOPermission klasse met de opgegeven toegang tot de aangewezen bestanden en mappen en de opgegeven toegangsrechten voor bestandsbeheergegevens. |
| FileIOPermission(FileIOPermissionAccess, String) |
Initialiseert een nieuw exemplaar van de FileIOPermission klasse met de opgegeven toegang tot het aangewezen bestand of de opgegeven map. |
| FileIOPermission(FileIOPermissionAccess, String[]) |
Initialiseert een nieuw exemplaar van de FileIOPermission klasse met de opgegeven toegang tot de aangewezen bestanden en mappen. |
| FileIOPermission(PermissionState) |
Initialiseert een nieuw exemplaar van de FileIOPermission klasse met volledig beperkte of onbeperkte machtigingen zoals opgegeven. |
Eigenschappen
| Name | Description |
|---|---|
| AllFiles |
Hiermee wordt de toegestane toegang tot alle bestanden opgehaald of ingesteld. |
| AllLocalFiles |
Hiermee wordt de toegestane toegang tot alle lokale bestanden opgehaald of ingesteld. |
Methoden
| Name | Description |
|---|---|
| AddPathList(FileIOPermissionAccess, String) |
Hiermee wordt de toegang voor het opgegeven bestand of de opgegeven map toegevoegd aan de bestaande status van de machtiging. |
| AddPathList(FileIOPermissionAccess, String[]) |
Hiermee wordt toegang toegevoegd voor de opgegeven bestanden en mappen aan de bestaande status van de machtiging. |
| Assert() |
Declareert dat de aanroepende code toegang heeft tot de resource die wordt beveiligd door een machtigingsvraag via de code die deze methode aanroept, zelfs als bellers die hoger in de stack zijn, niet zijn gemachtigd om toegang te krijgen tot de resource. Met behulp van Assert() dit hulpprogramma kunt u beveiligingsproblemen maken. (Overgenomen van CodeAccessPermission) |
| Copy() |
Hiermee maakt en retourneert u een identieke kopie van de huidige machtiging. |
| Demand() |
Dwingt een runtime af SecurityException als aan alle bellers hoger in de aanroepstack niet de machtiging is verleend die is opgegeven door het huidige exemplaar. (Overgenomen van CodeAccessPermission) |
| Deny() |
Verouderd.
Hiermee voorkomt u dat bellers in de aanroepstack de code gebruiken die deze methode aanroept om toegang te krijgen tot de resource die is opgegeven door het huidige exemplaar. (Overgenomen van CodeAccessPermission) |
| Equals(Object) |
Bepaalt of het opgegeven FileIOPermission object gelijk is aan de huidige FileIOPermission. |
| FromXml(SecurityElement) |
Hiermee wordt een machtiging met een opgegeven status van een XML-codering gereconstrueerd. |
| GetHashCode() |
Hiermee haalt u een hashcode op voor het FileIOPermission object dat geschikt is voor gebruik in hash-algoritmen en gegevensstructuren, zoals een hash-tabel. |
| GetPathList(FileIOPermissionAccess) |
Hiermee haalt u alle bestanden en mappen op met de opgegeven FileIOPermissionAccess. |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| Intersect(IPermission) |
Hiermee maakt en retourneert u een machtiging die het snijpunt is van de huidige machtiging en de opgegeven machtiging. |
| IsSubsetOf(IPermission) |
Bepaalt of de huidige machtiging een subset van de opgegeven machtiging is. |
| IsUnrestricted() |
Retourneert een waarde die aangeeft of de huidige machtiging onbeperkt is. |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| PermitOnly() |
Hiermee voorkomt u dat bellers in de aanroepstack de code gebruiken die deze methode aanroept om toegang te krijgen tot alle resources, met uitzondering van de resource die is opgegeven door het huidige exemplaar. (Overgenomen van CodeAccessPermission) |
| SetPathList(FileIOPermissionAccess, String) |
Hiermee stelt u de opgegeven toegang tot het opgegeven bestand of de opgegeven map in, waarbij u de bestaande status van de machtiging vervangt. |
| SetPathList(FileIOPermissionAccess, String[]) |
Hiermee stelt u de opgegeven toegang tot de opgegeven bestanden en mappen in, waarbij de huidige status voor de opgegeven toegang wordt vervangen door de nieuwe set paden. |
| ToString() |
Hiermee maakt en retourneert u een tekenreeksweergave van het huidige machtigingsobject. (Overgenomen van CodeAccessPermission) |
| ToXml() |
Hiermee maakt u een XML-codering van de machtiging en de huidige status. |
| Union(IPermission) |
Hiermee maakt u een machtiging die de samenvoeging is van de huidige machtiging en de opgegeven machtiging. |