Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

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.

Mostra: