Protezione basata sui ruoli

Microsoft .NET Framework fornisce i meccanismi necessari per integrare il codice gestito nei servizi di protezione COM+. Questa funzionalità si basa sul token di Microsoft® Windows NT® associato al codice di esecuzione come base per l'identità.

Nota   I meccanismi di protezione di Microsoft .NET Framework e quelli di COM+ basati sui ruoli sono indipendenti e possono essere utilizzati in modo separato all'interno di un'applicazione.

La protezione di COM+ si basa sugli account e sulla rappresentazione di processi e thread di Windows NT. Se il codice gestito fornisce servizi di autenticazione, viene richiesto un token di protezione di Windows NT e viene eseguita una rappresentazione prima di chiamare qualsiasi oggetto COM.

È possibile aggiungere ruoli a un'applicazione e associarli ai componenti specificando l'attributo SecurityRoleAttribute per una classe derivata da System.EnterpriseServices.ServicedComponent. L'applicazione di questo attributo a un intero assembly assicura che il ruolo sia presente nel catalogo COM+. L'applicazione dello stesso attributo a un componente assicura che il ruolo sia presente nella configurazione dell'applicazione e che venga associato al componente di destinazione.

Se la proprietà SetEveryoneAccess è impostata su true, il ruolo Everyone viene aggiunto come membro. L'impostazione predefinita è false e prevede che nessun utente sia assegnato a un ruolo. È necessario configurare gli utenti manualmente. Questa tecnica viene utilizzata preferibilmente dall'amministratore, che ha il controllo completo sul sistema.

I ruoli di protezione sono supportati a livello di assembly, classe, metodo e interfaccia. Come per gli altri attributi di metodi, la configurazione protetta non è attualmente condivisa tra la definizione di interfaccia e l'implementazione del metodo.

La classe SecurityCallContext consente l'accesso al contesto della chiamata di protezione COM+ ed è simile, anche se non identica, all'oggetto SecurityCallContext di Visual Basic. Le nuove istanze non vengono create a livello di codice, ma sono ottenute mediante la proprietà CurrentCall. Le proprietà rimanenti, riportate nella tabella seguente, consentono di richiamare i metodi sull'oggetto SecurityCallContext.

Proprietà Osservazioni
Callers Recupera l'elemento Callers dall'oggetto SecurityCallContext in COM+ e lo restituisce come oggetto SecurityCallers.
CurrentCall Restituisce un riferimento a un oggetto SecurityCallContext associato alla chiamata corrente.
DirectCaller Recupera l'elemento DirectCaller dall'oggetto SecurityCallContext in COM+ e lo restituisce come oggetto SecurityIdentity.
MinAuthenticationLevel Recupera l'elemento MinAuthenticationLevel dall'oggetto SecurityCallContext in COM+.
NumCallers Recupera l'elemento NumCallers dall'oggetto SecurityCallContext in COM+.
OriginalCaller Recupera l'elemento OriginalCaller dall'oggetto SecurityCallContext in COM+ e lo restituisce come oggetto SecurityIdentity.

Vedere anche

Riepilogo dei servizi COM+ disponibili | SecurityRoleAttribute | Spazio dei nomi System.EnterpriseServices