Condividi tramite


Controlli della protezione basata sui ruoli

Aggiornamento: novembre 2007

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 sicurezza imperativo o dichiarativo, è necessario effettuare una richiesta di sicurezza per un oggetto PrincipalPermission costruito in modo appropriato. 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, viene generato un oggetto 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

Concetti

Esecuzione di controlli di protezione dichiarativi

Accesso diretto agli oggetti Principal

Riferimenti

PrincipalPermission

Altre risorse

Sicurezza basata sui ruoli