Condividi tramite


Controlli della protezione basata sui ruoli

Dopo aver definito oggetti Principal e Identity, sarà possibile eseguirne i controlli di protezione. Sono disponibili i seguenti metodi:

  • Utilizzo di controlli di protezione imperativi.

  • Utilizzo di controlli di protezione dichiarativi.

  • Accesso diretto all'oggetto Principal.

Il codice gestito può avvalersi di controlli di protezione imperativi o dichiarativi per determinare se un particolare oggetto Principal rivesta un ruolo noto, presenti un'identità nota o rappresenti un'identità nota che agisce in un ruolo. Affinché venga eseguito un controllo di protezione imperativo o dichiarativo, è necessario effettuare una richiesta di protezione per un oggetto PrincipalPermission appositamente costruito. Durante il controllo di protezione, Common Language Runtime esamina l'oggetto Principal del chiamante per determinare se l'identità e il ruolo che esso presenta corrispondono a quelli rappresentati dall'oggetto PrincipalPermission richiesto. Se l'oggetto Principal non corrisponde, verrà generata un'eccezione SecurityException. Viene esaminato solo l'oggetto Principal del thread corrente; la classe PrincipalPermission non provoca alcuna analisi dello stack, come con il permesso di accesso al codice.

È inoltre possibile accedere direttamente ai valori dell'oggetto Principal ed eseguire controlli senza alcun oggetto PrincipalPermission. In questo caso, si leggono semplicemente i valori del principale del thread corrente o si utilizza il metodo IsInRole per operare l'autorizzazione.

Vedere anche

Attività

Procedura: eseguire controlli di protezione imperativi

Riferimenti

PrincipalPermission

Concetti

Esecuzione di controlli di protezione dichiarativi
Accesso diretto agli oggetti Principal

Altre risorse

Protezione basata sui ruoli