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