FileIOPermission Klass

Definition

Varning

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

Styr möjligheten att komma åt filer och mappar. Det går inte att ärva den här klassen.

public ref class FileIOPermission sealed : System::Security::CodeAccessPermission, System::Security::Permissions::IUnrestrictedPermission
[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 FileIOPermission : 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
public sealed class FileIOPermission : System.Security.CodeAccessPermission, System.Security.Permissions.IUnrestrictedPermission
[<System.Obsolete("Code Access Security is not supported or honored by the runtime.", DiagnosticId="SYSLIB0003", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type FileIOPermission = class
    inherit CodeAccessPermission
    interface IUnrestrictedPermission
[<System.Serializable>]
type FileIOPermission = class
    inherit CodeAccessPermission
    interface IUnrestrictedPermission
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type FileIOPermission = class
    inherit CodeAccessPermission
    interface IUnrestrictedPermission
type FileIOPermission = class
    inherit CodeAccessPermission
    interface IUnrestrictedPermission
Public NotInheritable Class FileIOPermission
Inherits CodeAccessPermission
Implements IUnrestrictedPermission
Arv
FileIOPermission
Attribut
Implementeringar

Kommentarer

Caution

Code Access Security (CAS) har föråldrats i alla versioner av .NET Framework och .NET. De senaste versionerna av .NET följer inte CAS-anteckningar och skapar fel om CAS-relaterade API:er används. Utvecklare bör söka alternativa sätt att utföra säkerhetsuppgifter.

Den här behörigheten skiljer mellan följande fyra typer av fil-I/O-åtkomst som tillhandahålls av FileIOPermissionAccess:

  • Read: Läs åtkomst till innehållet i filen eller åtkomst till information om filen, till exempel dess längd eller senaste ändringstid.

  • Write: Skriv åtkomst till innehållet i filen eller åtkomst för att ändra information om filen, till exempel dess namn. Tillåter även borttagning och överskrivning.

  • Append: Möjlighet att endast skriva till slutet av en fil. Ingen möjlighet att läsa.

  • PathDiscovery: Åtkomst till informationen i själva sökvägen. Detta hjälper till att skydda känslig information i sökvägen, till exempel användarnamn, samt information om katalogstrukturen som visas i sökvägen. Det här värdet ger inte åtkomst till filer eller mappar som representeras av sökvägen.

Note

Att ge Write åtkomst till en sammansättning liknar att ge den fullständigt förtroende. Om ett program inte ska skriva till filsystemet bör det inte ha Write åtkomst.

Alla dessa behörigheter är oberoende, vilket innebär att rättigheter till en inte innebär rättigheter till en annan. Behörighet innebär till exempel Write inte behörighet till Read eller Append. Om fler än en behörighet önskas kan de kombineras med hjälp av en bitvis ELLER som visas i kodexemplet som följer. Filbehörighet definieras i termer av kanoniska absoluta sökvägar; anrop ska alltid göras med kanoniska filsökvägar.

FileIOPermission beskriver skyddade åtgärder på filer och mappar. Klassen File hjälper till att ge säker åtkomst till filer och mappar. Säkerhetsåtkomstkontrollen utförs när referensen till filen skapas. Genom att göra kontrollen vid skapandetillfället minimeras prestandapåverkan av säkerhetskontrollen. Att öppna en fil sker en gång, medan läsning och skrivning kan ske flera gånger. När filen har öppnats görs inga ytterligare kontroller. Om objektet skickas till en ej betrodd anropare kan det missbrukas. Filhandtag bör till exempel inte lagras i offentliga globala statiska objekt där kod med mindre behörighet kan komma åt dem.

FileIOPermissionAccess anger åtgärder som kan utföras på filen eller mappen. Dessutom kan dessa åtgärder kombineras med hjälp av en bitvis ELLER för att bilda komplexa instanser.

Åtkomst till en mapp innebär åtkomst till alla filer som den innehåller, samt åtkomst till alla filer och mappar i dess undermappar. Till exempel Read innebär Read åtkomst till C:\folder1\ åtkomst till C:\folder1\file1.txt, C:\folder1\folder2\, C:\folder1\folder2\file2.txtoch så vidare.

Note

I versioner av .NET Framework före .NET Framework 4 kan du använda metoden CodeAccessPermission.Deny för att förhindra oavsiktlig åtkomst till systemresurser med betrodd kod. Deny är nu föråldrad och åtkomsten till resurser bestäms nu enbart av den beviljade behörighetsuppsättningen för en sammansättning. Om du vill begränsa åtkomsten till filer måste du köra delvis betrodd kod i en sandbox-miljö och endast tilldela den behörighet till resurser som koden har åtkomst till. Information om hur du kör ett program i en sandbox-miljö finns i Så här kör du delvis betrodd kod i en sandbox-miljö.

Konstruktorer

Name Description
FileIOPermission(FileIOPermissionAccess, AccessControlActions, String)
Föråldrad.

Initierar en ny instans av FileIOPermission klassen med den angivna åtkomsten till den avsedda filen eller katalogen och de angivna åtkomsträttigheterna till filkontrollinformation.

FileIOPermission(FileIOPermissionAccess, AccessControlActions, String[])
Föråldrad.

Initierar en ny instans av FileIOPermission klassen med den angivna åtkomsten till de avsedda filerna och katalogerna och de angivna åtkomsträttigheterna till filkontrollinformation.

FileIOPermission(FileIOPermissionAccess, String)
Föråldrad.

Initierar en ny instans av FileIOPermission klassen med den angivna åtkomsten till den avsedda filen eller katalogen.

FileIOPermission(FileIOPermissionAccess, String[])
Föråldrad.

Initierar en ny instans av FileIOPermission klassen med den angivna åtkomsten till de avsedda filerna och katalogerna.

FileIOPermission(PermissionState)
Föråldrad.

Initierar en ny instans av FileIOPermission klassen med fullständigt begränsad eller obegränsad behörighet enligt angiven.

Egenskaper

Name Description
AllFiles
Föråldrad.

Hämtar eller anger tillåten åtkomst till alla filer.

AllLocalFiles
Föråldrad.

Hämtar eller anger tillåten åtkomst till alla lokala filer.

Metoder

Name Description
AddPathList(FileIOPermissionAccess, String)
Föråldrad.

Lägger till åtkomst för den angivna filen eller katalogen till det befintliga tillståndet för behörigheten.

AddPathList(FileIOPermissionAccess, String[])
Föråldrad.

Lägger till åtkomst för de angivna filerna och katalogerna till det befintliga tillståndet för behörigheten.

Assert()
Föråldrad.

Deklarerar att den anropande koden kan komma åt resursen som skyddas av ett behörighetskrav via koden som anropar den här metoden, även om anropare högre i stacken inte har beviljats behörighet att komma åt resursen. Att använda Assert() kan skapa säkerhetsproblem.

(Ärvd från CodeAccessPermission)
Copy()
Föråldrad.

Skapar och returnerar en identisk kopia av den aktuella behörigheten.

Demand()
Föråldrad.

Tvingar fram en SecurityException vid körning om alla anropare högre i anropsstacken inte har beviljats den behörighet som anges av den aktuella instansen.

(Ärvd från CodeAccessPermission)
Deny()
Föråldrad.
Föråldrad.

Hindrar anropare högre i anropsstacken från att använda koden som anropar den här metoden för att komma åt resursen som anges av den aktuella instansen.

(Ärvd från CodeAccessPermission)
Equals(Object)
Föråldrad.

Avgör om det angivna FileIOPermission objektet är lika med det aktuella FileIOPermission.

FromXml(SecurityElement)
Föråldrad.

Rekonstruerar en behörighet med ett angivet tillstånd från en XML-kodning.

GetHashCode()
Föråldrad.

Hämtar en hash-kod för objektet FileIOPermission som är lämpligt för användning i hash-algoritmer och datastrukturer, till exempel en hash-tabell.

GetPathList(FileIOPermissionAccess)
Föråldrad.

Hämtar alla filer och kataloger med angiven FileIOPermissionAccess.

GetType()
Föråldrad.

Hämtar den aktuella instansen Type .

(Ärvd från Object)
Intersect(IPermission)
Föråldrad.

Skapar och returnerar en behörighet som är skärningspunkten för den aktuella behörigheten och den angivna behörigheten.

IsSubsetOf(IPermission)
Föråldrad.

Avgör om den aktuella behörigheten är en delmängd av den angivna behörigheten.

IsUnrestricted()
Föråldrad.

Returnerar ett värde som anger om den aktuella behörigheten är obegränsad.

MemberwiseClone()
Föråldrad.

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
PermitOnly()
Föråldrad.

Hindrar anropare högre i anropsstacken från att använda koden som anropar den här metoden för att komma åt alla resurser förutom den resurs som anges av den aktuella instansen.

(Ärvd från CodeAccessPermission)
SetPathList(FileIOPermissionAccess, String)
Föråldrad.

Anger den angivna åtkomsten till den angivna filen eller katalogen och ersätter behörighetens befintliga tillstånd.

SetPathList(FileIOPermissionAccess, String[])
Föråldrad.

Anger den angivna åtkomsten till de angivna filerna och katalogerna och ersätter det aktuella tillståndet för den angivna åtkomsten med den nya uppsättningen sökvägar.

ToString()
Föråldrad.

Skapar och returnerar en strängrepresentation av det aktuella behörighetsobjektet.

(Ärvd från CodeAccessPermission)
ToXml()
Föråldrad.

Skapar en XML-kodning av behörigheten och dess aktuella tillstånd.

Union(IPermission)
Föråldrad.

Skapar en behörighet som är en union av den aktuella behörigheten och den angivna behörigheten.

Gäller för

Se även