Controlli della sicurezza basata sui ruoli

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

  • Utilizzo di controlli di sicurezza imperativi.

  • Utilizzo di controlli di sicurezza dichiarativi.

  • Accesso diretto all'oggetto Principal.

Il codice gestito può avvalersi di controlli di sicurezza 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 sicurezza, 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 sicurezza imperativi

Riferimenti

PrincipalPermission

Concetti

Esecuzione di controlli di sicurezza dichiarativi

Accesso diretto agli oggetti Principal

Altre risorse

Sicurezza basata sui ruoli