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
Concetti
Esecuzione di controlli di protezione dichiarativi
Accesso diretto agli oggetti Principal