Partilhar via


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 é ultrapassado. 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 no nível do processo, o que afeta como você precisa configurar a segurança para ele. Para obter mais informações, consulte Library Application Security.

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

Component-Level Verificações de acesso

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. Esta será a configuração padrão para aplicativos que usam segurança baseada em função.

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

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

Além disso, quando você seleciona a verificação de acesso no nível do componente, a propriedade security 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 Security Context Property.

Process-Level Verificações de acesso

As verificações no nível do processo aplicam-se apenas ao limite do aplicativo. Ou seja, as funções que você definiu para todo o aplicativo COM+ determinarão quem terá 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 para os componentes do aplicativo é validada. Nesse caso, você não gostaria de construir uma política de autorização detalhada com várias funções. A aplicação utilizará um único descritor de segurança.

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

Com as verificações de acesso no nível do processo habilitadas, as informações de contexto da 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 no nível do processo. Para obter mais informações, consulte Security Call Context Information.

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

Projetando funções de forma eficaz

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

de propriedade de contexto de segurança

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