PrincipalPermission 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 kunt u controles uitvoeren op de actieve principal (zie IPrincipal) met behulp van de taalconstructies die zijn gedefinieerd voor zowel declaratieve als imperatieve beveiligingsacties. Deze klasse kan niet worden overgenomen.
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
- Overname
-
PrincipalPermission
- 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.
Door identiteitsgegevens (gebruikersnaam en rol) door te geven aan de constructor, PrincipalPermission kan worden gebruikt om te eisen dat de identiteit van de actieve principal overeenkomt met deze informatie.
Als u de actieve IPrincipal en gekoppelde IIdentityidentiteit wilt vergelijken, moeten zowel de opgegeven identiteit als de rol overeenkomen. Als null er een identiteitstekenreeks wordt gebruikt, wordt deze geïnterpreteerd als een aanvraag om een identiteit te vinden. Het gebruik van null een roltekenreeks komt overeen met elke rol. Door implicatie komt het doorgeven null van de parameter voor name of role om PrincipalPermission overeen met de identiteit en rollen in elke .IPrincipal Het is ook mogelijk om een entiteit PrincipalPermission te maken die alleen bepaalt of het IIdentity een geverifieerde of niet-geverifieerde entiteit vertegenwoordigt. In dit geval name worden deze role genegeerd.
In tegenstelling tot de meeste andere machtigingen, PrincipalPermission wordt het niet uitgebreid CodeAccessPermission. De interface wordt echter wel geïmplementeerd IPermission . Dit komt doordat het geen machtiging voor codetoegang is. Dat wil gezegd PrincipalPermission , deze wordt niet verleend op basis van de identiteit van de uitvoerende assembly. In plaats daarvan kan code acties (Demand, Union, enzovoort Intersect) uitvoeren op basis van de huidige gebruikersidentiteit op een manier die consistent is met de manier waarop deze acties worden uitgevoerd voor machtigingen voor codetoegang en code-identiteit.
Important
Voorafgaand aan een aanvraag voor principal-machtigingen is het noodzakelijk om het principal-beleid van het huidige toepassingsdomein in te stellen op de opsommingswaarde WindowsPrincipal. Standaard is het principal-beleid ingesteld op UnauthenticatedPrincipal. Als u het principal-beleid WindowsPrincipalniet instelt op, mislukt een aanvraag voor principal-machtigingen. De volgende code moet worden uitgevoerd voordat de principal-machtiging wordt gevraagd:
AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal).
Constructors
| Name | Description |
|---|---|
| PrincipalPermission(PermissionState) |
Initialiseert een nieuw exemplaar van de PrincipalPermission klasse met de opgegeven PermissionState. |
| PrincipalPermission(String, String, Boolean) |
Initialiseert een nieuw exemplaar van de PrincipalPermission klasse voor de opgegeven |
| PrincipalPermission(String, String) |
Initialiseert een nieuw exemplaar van de PrincipalPermission klasse voor de opgegeven |
Methoden
| Name | Description |
|---|---|
| Copy() |
Hiermee maakt en retourneert u een identieke kopie van de huidige machtiging. |
| Demand() |
Bepaalt tijdens runtime of de huidige principal overeenkomt met de principal die is opgegeven door de huidige machtiging. |
| Equals(Object) |
Bepaalt of het opgegeven PrincipalPermission object gelijk is aan de huidige PrincipalPermission. |
| Equals(Object) |
Bepaalt of het opgegeven object gelijk is aan het huidige object. (Overgenomen van Object) |
| FromXml(SecurityElement) |
Hiermee wordt een machtiging met een opgegeven status van een XML-codering gereconstrueerd. |
| GetHashCode() |
Hiermee haalt u een hashcode op voor het PrincipalPermission object dat geschikt is voor gebruik in hash-algoritmen en gegevensstructuren, zoals een hash-tabel. |
| GetHashCode() |
Fungeert als de standaardhashfunctie. (Overgenomen van Object) |
| 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) |
| ToString() |
Hiermee maakt en retourneert u een tekenreeks die de huidige machtiging vertegenwoordigt. |
| 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. |