Limites de segurança

A segurança é verificada apenas nos limites do aplicativo. Ou seja, para dois componentes no mesmo aplicativo, quando um componente chama o outro, nenhuma verificação de segurança será feita. No entanto, se dois aplicativos compartilham o mesmo processo e um componente em um chama um componente no outro, uma verificação de segurança é feita porque um limite de aplicativo é cruzado. Da mesma forma, se dois aplicativos residirem em processos de servidor diferentes e um componente no primeiro aplicativo chamar um componente no segundo aplicativo, uma verificação de segurança será feita.

Portanto, se você tiver dois componentes e quiser que as verificações de segurança sejam feitas quando um chamar o outro, será necessário colocar os componentes em aplicativos COM+ separados.

Como os aplicativos de biblioteca COM+ são hospedados por outros processos, há um limite de segurança entre o aplicativo de biblioteca e o processo de hospedagem. Além disso, o aplicativo de biblioteca não controla a segurança em nível de processo, o que afeta como você precisa configurar a segurança para ele. Para obter mais informações, consulte Segurança de aplicativos de biblioteca.

Determinar se uma verificação de segurança deve ser executada em uma chamada em um componente é baseado na propriedade de segurança no contexto do objeto criado quando o componente configurado é instanciado. Para obter mais informações, consulte Propriedade de contexto de segurança.

Verificações de acesso em nível de componente

Para um aplicativo de servidor COM+, você tem a opção de impor verificações de acesso no nível do componente ou no nível do processo.

Ao selecionar a verificação de acesso no nível do componente, você habilita atribuições de função refinadas. Você pode atribuir funções a componentes, interfaces e métodos e obter uma política de autorização articulada. Essa será a configuração padrão para aplicativos que usam segurança baseada em função.

Para aplicativos de biblioteca COM+, você deve selecionar a segurança em nível de componente se quiser usar funções. Os aplicativos de biblioteca não podem usar a segurança em nível de processo.

Você deve selecionar a verificação de acesso em nível de componente se estiver usando segurança programática baseada em função. As informações de contexto de chamada de segurança estão disponíveis somente quando a segurança em nível de componente está habilitada. Para obter mais informações, consulte Informações de contexto de chamada de segurança.

Além disso, quando você seleciona a verificação de acesso no nível do componente, a propriedade de segurança será incluída no contexto do objeto. Isso significa que a configuração de segurança pode desempenhar um papel na forma como o objeto é ativado. Para obter mais informações, consulte Propriedade de contexto de segurança.

Verificações de acesso em nível de processo

As verificações no nível do processo aplicam-se somente ao limite do aplicativo. Ou seja, as funções que você definiu para todo o aplicativo COM+ determinarão a quem é concedido acesso a qualquer recurso dentro do aplicativo. Não se aplicam atribuições de função mais refinadas. Essencialmente, as funções são usadas para criar um descritor de segurança em relação ao qual qualquer chamada nos componentes do aplicativo é validada. Nesse caso, você não deseja construir uma diretiva de autorização detalhada com várias funções. O aplicativo usará um único descritor de segurança.

Para aplicativos de biblioteca COM+, você não selecionaria verificações de acesso em nível de processo. O aplicativo de biblioteca será executado hospedado no processo do cliente e, portanto, não controlará a segurança em nível de processo. Para obter mais informações, consulte Segurança de aplicativos de biblioteca.

Com as verificações de acesso em nível de processo habilitadas, as informações de contexto de chamada de segurança não estão disponíveis. Isso significa que você não pode fazer segurança programática ao usar apenas a segurança em nível de processo. Para obter mais informações, consulte Informações de contexto de chamada de segurança.

Além disso, a propriedade de segurança não será incluída no contexto do objeto. Isso significa que, ao usar apenas verificações de acesso em nível de processo, a configuração de segurança nunca desempenhará um papel na forma como o objeto é ativado. Para obter mais informações, consulte Propriedade de contexto de segurança.

Projetando funções de forma eficaz

Informações de contexto de chamada de segurança

Propriedade de contexto de segurança

Usando funções para autorização de cliente