PrincipalPermission 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.
Tillåter kontroller mot det aktiva huvudkontot (se IPrincipal) med hjälp av språkkonstruktionerna som definierats för både deklarativa och imperativa säkerhetsåtgärder. Det går inte att ärva den här klassen.
public ref class PrincipalPermission sealed : System::Security::IPermission, System::Security::Permissions::IUnrestrictedPermission
[System.Serializable]
public sealed class PrincipalPermission : System.Security.IPermission, System.Security.Permissions.IUnrestrictedPermission
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class PrincipalPermission : System.Security.IPermission, System.Security.Permissions.IUnrestrictedPermission
[<System.Serializable>]
type PrincipalPermission = class
interface IPermission
interface IUnrestrictedPermission
interface ISecurityEncodable
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type PrincipalPermission = class
interface IPermission
interface IUnrestrictedPermission
interface ISecurityEncodable
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type PrincipalPermission = class
interface IPermission
interface ISecurityEncodable
interface IUnrestrictedPermission
Public NotInheritable Class PrincipalPermission
Implements IPermission, IUnrestrictedPermission
- Arv
-
PrincipalPermission
- 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.
Genom att skicka identitetsinformation (användarnamn och roll) till konstruktorn PrincipalPermission kan du använda för att kräva att identiteten för det aktiva huvudkontot matchar den här informationen.
För att matcha den aktiva IPrincipal och associerade IIdentitymåste både den angivna identiteten och rollen matcha. Om null identitetssträngen används tolkas den som en begäran om att matcha alla identiteter. Användning av null rollsträng matchar valfri roll. Underförstått matchar överföringsparametern null för name eller role till PrincipalPermission identiteten och rollerna i alla IPrincipal. Det går också att skapa en PrincipalPermission som bara avgör om IIdentity representerar en autentiserad eller oautentiserad entitet. I det här fallet name ignoreras och role .
Till skillnad från de flesta andra behörigheter PrincipalPermission utökar CodeAccessPermissioninte . Det implementerar IPermission dock gränssnittet. Det beror på att PrincipalPermission det inte är en behörighet för kodåtkomst, det vill sägs att den inte beviljas baserat på identiteten för den körande sammansättningen. I stället tillåter den att kod utför åtgärder (Demand, , IntersectUnionoch så vidare) mot den aktuella användaridentiteten på ett sätt som överensstämmer med hur dessa åtgärder utförs för kodåtkomst och kodidentitetsbehörigheter.
Important
Före ett krav på huvudbehörighet är det nödvändigt att ange den aktuella programdomänens huvudprincip till uppräkningsvärdet WindowsPrincipal. Som standard är huvudprincipen inställd på UnauthenticatedPrincipal. Om du inte anger huvudprincipen till WindowsPrincipalmisslyckas ett krav på huvudbehörighet. Följande kod ska köras innan huvudbehörigheten krävs:
AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal).
Konstruktorer
| Name | Description |
|---|---|
| PrincipalPermission(PermissionState) |
Initierar en ny instans av PrincipalPermission klassen med angiven PermissionState. |
| PrincipalPermission(String, String, Boolean) |
Initierar en ny instans av PrincipalPermission klassen för angiven |
| PrincipalPermission(String, String) |
Initierar en ny instans av PrincipalPermission klassen för angiven |
Metoder
| Name | Description |
|---|---|
| Copy() |
Skapar och returnerar en identisk kopia av den aktuella behörigheten. |
| Demand() |
Avgör vid körning om det aktuella huvudkontot matchar det huvudnamn som anges av den aktuella behörigheten. |
| Equals(Object) |
Avgör om det angivna PrincipalPermission objektet är lika med det aktuella PrincipalPermission. |
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| FromXml(SecurityElement) |
Rekonstruerar en behörighet med ett angivet tillstånd från en XML-kodning. |
| GetHashCode() |
Hämtar en hash-kod för objektet PrincipalPermission 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) |
Skapar och returnerar en behörighet som är skärningspunkten för den aktuella behörigheten och den angivna behörigheten. |
| IsSubsetOf(IPermission) |
Avgör om den aktuella behörigheten är en delmängd av den angivna behörigheten. |
| IsUnrestricted() |
Returnerar ett värde som anger om den aktuella behörigheten är obegränsad. |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| ToString() |
Skapar och returnerar en sträng som representerar den aktuella behörigheten. |
| ToXml() |
Skapar en XML-kodning av behörigheten och dess aktuella tillstånd. |
| Union(IPermission) |
Skapar en behörighet som är en union av den aktuella behörigheten och den angivna behörigheten. |