PrincipalPermission Classe

Definizione

Attenzione

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

Consente controlli sull'entità attiva (vedere IPrincipal) usando i costrutti di linguaggio definiti per le azioni di sicurezza dichiarative e imperative. La classe non può essere ereditata.

public ref class PrincipalPermission sealed : System::Security::IPermission, 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 PrincipalPermission : 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
public sealed class PrincipalPermission : System.Security.IPermission, 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 PrincipalPermission = class
    interface IPermission
    interface ISecurityEncodable
    interface 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
type PrincipalPermission = class
    interface IPermission
    interface ISecurityEncodable
    interface IUnrestrictedPermission
Public NotInheritable Class PrincipalPermission
Implements IPermission, IUnrestrictedPermission
Ereditarietà
PrincipalPermission
Attributi
Implementazioni

Commenti

Attenzione

La sicurezza dall'accesso al codice è stata deprecata in tutte le versioni di .NET Framework e .NET. Le versioni recenti di .NET non rispettano le annotazioni CAS e generano errori se vengono usate API correlate a CAS. Gli sviluppatori devono cercare mezzi alternativi per eseguire attività di sicurezza.

Passando le informazioni sull'identità (nome utente e ruolo) al costruttore, PrincipalPermission è possibile usare per richiedere che l'identità dell'entità attiva corrisponda a queste informazioni.

Per trovare la corrispondenza con l'oggetto attivo IPrincipal e associato IIdentity, è necessario che l'identità e il ruolo specificati corrispondano. Se null viene usata una stringa di identità, viene interpretata come una richiesta di corrispondenza con qualsiasi identità. L'uso della stringa di null ruolo corrisponderà a qualsiasi ruolo. In modo implicito, il passaggio del null parametro per name o role a corrisponderà all'identità e ai PrincipalPermission ruoli in qualsiasi IPrincipal. È anche possibile costruire un oggetto PrincipalPermission che determina solo se rappresenta un'entità IIdentity autenticata o non autenticata. In questo caso, name e role vengono ignorati.

A differenza della maggior parte delle altre autorizzazioni, PrincipalPermission non estende CodeAccessPermission. Tuttavia, implementa l'interfaccia IPermission . Questo perché PrincipalPermission non è un'autorizzazione di accesso al codice, ovvero non viene concessa in base all'identità dell'assembly in esecuzione. Consente invece al codice di eseguire azioni (Demand, Union, Intersecte così via) rispetto all'identità utente corrente in modo coerente con il modo in cui tali azioni vengono eseguite per l'accesso al codice e le autorizzazioni di identità del codice.

Importante

Prima di una richiesta di autorizzazione dell'entità, è necessario impostare il criterio principale del dominio applicazione corrente sul valore WindowsPrincipaldi enumerazione . Per impostazione predefinita, il criterio principale è impostato su UnauthenticatedPrincipal. Se non si imposta il criterio principale su WindowsPrincipal, una richiesta di autorizzazione principale avrà esito negativo. È necessario eseguire il codice seguente prima che venga richiesta l'autorizzazione principale:

AppDomain.CurrentDomain.SetPrincipalPolicy(PrincipalPolicy.WindowsPrincipal).

Costruttori

Nome Descrizione
PrincipalPermission(PermissionState)
Obsoleti.

Inizializza una nuova istanza della PrincipalPermission classe con l'oggetto specificato PermissionState.

PrincipalPermission(String, String, Boolean)
Obsoleti.

Inizializza una nuova istanza della PrincipalPermission classe per lo stato di autenticazione , namee specificatorole.

PrincipalPermission(String, String)
Obsoleti.

Inizializza una nuova istanza della PrincipalPermission classe per l'oggetto e namespecificatorole.

Metodi

Nome Descrizione
Copy()
Obsoleti.

Crea e restituisce una copia identica dell'autorizzazione corrente.

Demand()
Obsoleti.

Determina in fase di esecuzione se l'entità corrente corrisponde all'entità specificata dall'autorizzazione corrente.

Equals(Object)
Obsoleti.

Determina se l'oggetto specificato PrincipalPermission è uguale all'oggetto corrente PrincipalPermission.

Equals(Object)
Obsoleti.

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
FromXml(SecurityElement)
Obsoleti.

Ricostruisce un'autorizzazione con uno stato specificato da una codifica XML.

GetHashCode()
Obsoleti.

Ottiene un codice hash per l'oggetto adatto per l'uso PrincipalPermission negli algoritmi di hash e nelle strutture di dati, ad esempio una tabella hash.

GetHashCode()
Obsoleti.

Funge da funzione hash predefinita.

(Ereditato da Object)
GetType()
Obsoleti.

Ottiene il Type dell'istanza corrente.

(Ereditato da Object)
Intersect(IPermission)
Obsoleti.

Crea e restituisce un'autorizzazione che rappresenta l'intersezione dell'autorizzazione corrente e l'autorizzazione specificata.

IsSubsetOf(IPermission)
Obsoleti.

Determina se l'autorizzazione corrente è un subset dell'autorizzazione specificata.

IsUnrestricted()
Obsoleti.

Restituisce un valore che indica se l'autorizzazione corrente è senza restrizioni.

MemberwiseClone()
Obsoleti.

Crea una copia superficiale del Objectcorrente.

(Ereditato da Object)
ToString()
Obsoleti.

Crea e restituisce una stringa che rappresenta l'autorizzazione corrente.

ToXml()
Obsoleti.

Crea una codifica XML dell'autorizzazione e del relativo stato corrente.

Union(IPermission)
Obsoleti.

Crea un'autorizzazione che rappresenta l'unione dell'autorizzazione corrente e l'autorizzazione specificata.

Si applica a

Vedi anche