Limiti di sicurezza

La sicurezza viene controllata solo ai limiti dell'applicazione. Ovvero, per due componenti nella stessa applicazione, quando un componente chiama l'altro, non verrà eseguito alcun controllo di sicurezza. Tuttavia, se due applicazioni condividono lo stesso processo e un componente in uno chiama un componente nell'altro, viene eseguito un controllo di sicurezza perché viene superato un limite dell'applicazione. Analogamente, se due applicazioni si trovano in processi server diversi e un componente nella prima applicazione chiama un componente nella seconda applicazione, viene eseguito un controllo di sicurezza.

Pertanto, se si dispone di due componenti e si desidera che i controlli di sicurezza vengano eseguiti quando una chiama l'altra, è necessario inserire i componenti in applicazioni COM+ separate.

Poiché le applicazioni di libreria COM+ sono ospitate da altri processi, esiste un limite di sicurezza tra l'applicazione di libreria e il processo di hosting. Inoltre, l'applicazione di libreria non controlla la sicurezza a livello di processo, che influisce sul modo in cui è necessario configurare la sicurezza. Per altre informazioni, vedere Library Application Security.For more information, see Library Application Security.

Determinare se un controllo di sicurezza deve essere eseguito su una chiamata a un componente si basa sulla proprietà di sicurezza nel contesto dell'oggetto creato quando viene creata un'istanza del componente configurato. Per altre informazioni, vedere Security Context Property.

Controlli di accesso a livello di componente

Per un'applicazione server COM+ è possibile scegliere di applicare i controlli di accesso a livello di componente o a livello di processo.

Quando si seleziona il controllo di accesso a livello di componente, si abilitano assegnazioni di ruolo con granularità fine. È possibile assegnare ruoli a componenti, interfacce e metodi e ottenere criteri di autorizzazione articolati. Questa sarà la configurazione standard per le applicazioni che usano la sicurezza basata sui ruoli.

Per le applicazioni di libreria COM+, è necessario selezionare la sicurezza a livello di componente se si vogliono usare i ruoli. Le applicazioni di libreria non possono usare la sicurezza a livello di processo.

È consigliabile selezionare il controllo di accesso a livello di componente se si usa la sicurezza basata sui ruoli a livello di codice. Le informazioni sul contesto delle chiamate di sicurezza sono disponibili solo quando è abilitata la sicurezza a livello di componente. Per altre informazioni, vedere Security Call Context Information.For more information, see Security Call Context Information.

Inoltre, quando si seleziona il controllo di accesso a livello di componente, la proprietà di sicurezza verrà inclusa nel contesto dell'oggetto. Ciò significa che la configurazione di sicurezza può svolgere un ruolo nella modalità di attivazione dell'oggetto. Per altre informazioni, vedere Security Context Property.

Controlli di accesso a livello di processo

I controlli a livello di processo si applicano solo al limite dell'applicazione. Ovvero, i ruoli definiti per l'intera applicazione COM+ determineranno chi ha accesso a qualsiasi risorsa all'interno dell'applicazione. Non si applicano assegnazioni di ruolo con granularità più fine. Essenzialmente, i ruoli vengono usati per creare un descrittore di sicurezza in base al quale viene convalidata qualsiasi chiamata nei componenti dell'applicazione. In questo caso, non si vuole creare criteri di autorizzazione dettagliati con più ruoli. L'applicazione userà un singolo descrittore di sicurezza.

Per le applicazioni di libreria COM+, non selezionare i controlli di accesso a livello di processo. L'applicazione di libreria verrà eseguita nel processo del client e pertanto non controlla la sicurezza a livello di processo. Per altre informazioni, vedere Library Application Security.For more information, see Library Application Security.

Con i controlli di accesso a livello di processo abilitati, le informazioni sul contesto delle chiamate di sicurezza non sono disponibili. Ciò significa che non è possibile eseguire la sicurezza a livello di codice quando si usa solo la sicurezza a livello di processo. Per altre informazioni, vedere Security Call Context Information.For more information, see Security Call Context Information.

Inoltre, la proprietà di sicurezza non verrà inclusa nel contesto dell'oggetto. Ciò significa che quando si usano solo controlli di accesso a livello di processo, la configurazione di sicurezza non avrà mai un ruolo nella modalità di attivazione dell'oggetto. Per altre informazioni, vedere Security Context Property.

Progettazione efficace dei ruoli

Informazioni sul contesto delle chiamate di sicurezza

Security Context, proprietà

Uso dei ruoli per l'autorizzazione client