CodeAccessPermission Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Definierar den underliggande strukturen för alla kodåtkomstbehörigheter.
public ref class CodeAccessPermission abstract : System::Security::IPermission, System::Security::IStackWalk
[System.Serializable]
public abstract class CodeAccessPermission : System.Security.IPermission, System.Security.IStackWalk
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public abstract class CodeAccessPermission : System.Security.IPermission, System.Security.IStackWalk
[<System.Serializable>]
type CodeAccessPermission = class
interface IPermission
interface ISecurityEncodable
interface IStackWalk
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type CodeAccessPermission = class
interface IPermission
interface ISecurityEncodable
interface IStackWalk
Public MustInherit Class CodeAccessPermission
Implements IPermission, IStackWalk
- Arv
-
CodeAccessPermission
- Härledda
- 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.
Kodåtkomstbehörigheter använder en stackvandring för att säkerställa att alla anropare av koden har beviljats en behörighet. Om ett behörighetsobjekt är nullhanteras det på samma sätt som ett behörighetsobjekt med tillståndet PermissionState.None.
Anropsstacken representeras vanligtvis som växande nedåt, så att metoderna högre i anropsstackens anropsmetoder är lägre i anropsstacken.
Arvtagare till CodeAccessPermission klassen måste beviljas fullständigt förtroende för att fungera korrekt som behörigheter som utökar säkerhetsinfrastrukturen. För att fastställa att arvtagarna är fullständigt betrodda utfärdar CodeAccessPermission du en InheritanceDemand förtrue = ControlEvidence och .ControlPolicy = true
Anteckningar till implementerare
När du ärver från CodeAccessPermissionmåste du också implementera IUnrestrictedPermission gränssnittet.
Följande CodeAccessPermission medlemmar måste åsidosättas: Copy(), Intersect(IPermission), IsSubsetOf(IPermission), ToXml(), FromXml(SecurityElement)och Union(IPermission).
Du måste också definiera en konstruktor som tar en PermissionState som enda parameter.
Du måste använda SerializableAttribute attributet för en klass som ärver från CodeAccessPermission.
Konstruktorer
| Name | Description |
|---|---|
| CodeAccessPermission() |
Initierar en ny instans av CodeAccessPermission klassen. |
Metoder
| Name | Description |
|---|---|
| Assert() |
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. |
| Copy() |
När den implementeras av en härledd klass skapar och returnerar du en identisk kopia av det aktuella behörighetsobjektet. |
| Demand() |
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. |
| Deny() |
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. |
| Equals(Object) |
Avgör om det angivna CodeAccessPermission objektet är lika med det aktuella CodeAccessPermission. |
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| FromXml(SecurityElement) |
När det åsidosättas i en härledd klass rekonstruerar ett säkerhetsobjekt med ett angivet tillstånd från en XML-kodning. |
| GetHashCode() |
Hämtar en hash-kod för objektet CodeAccessPermission som är lämpligt för användning i hash-algoritmer och datastrukturer, till exempel en hash-tabell. |
| GetHashCode() |
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| Intersect(IPermission) |
När den implementeras av en härledd klass skapar och returnerar en behörighet som är skärningspunkten mellan den aktuella behörigheten och den angivna behörigheten. |
| IsSubsetOf(IPermission) |
När den implementeras av en härledd klass avgör du om den aktuella behörigheten är en delmängd av den angivna behörigheten. |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| PermitOnly() |
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. |
| RevertAll() |
Gör att alla tidigare åsidosättningar för den aktuella ramen tas bort och inte längre tillämpas. |
| RevertAssert() |
Gör att alla tidigare Assert() för den aktuella ramen tas bort och inte längre tillämpas. |
| RevertDeny() |
Föråldrad.
Gör att alla tidigare Deny() för den aktuella ramen tas bort och inte längre tillämpas. |
| RevertPermitOnly() |
Gör att alla tidigare PermitOnly() för den aktuella ramen tas bort och inte längre tillämpas. |
| ToString() |
Skapar och returnerar en strängrepresentation av det aktuella behörighetsobjektet. |
| ToXml() |
När du åsidosättas i en härledd klass skapar du en XML-kodning av säkerhetsobjektet och dess aktuella tillstånd. |
| Union(IPermission) |
När den åsidosätts i en härledd klass skapar du en behörighet som är en union av den aktuella behörigheten och den angivna behörigheten. |