Partilhar via


Segurança de componentes programáticos

Quando você usa a segurança baseada em função no aplicativo COM+ que contém seu componente, você tem acesso à funcionalidade de segurança programática de dentro do seu componente. Você pode verificar a associação à função para determinar se seções específicas do código são executadas, pode acessar informações de segurança usando o objeto de contexto da chamada de segurança e pode determinar se a segurança está habilitada para a chamada atual. Você pode executar todas essas tarefas usando uma referência a um objetoSecurityCallContext(para aplicativos Microsoft Visual Basic) ou um ponteiro para a interfaceISecurityCallContext(para aplicativos C e Microsoft Visual C++).

Para obter mais informações sobre segurança programática baseada em função, consulte os seguintes tópicos nesta seção:

Falsificação de identidade e recursos de segurança COM

Se o componente for usado em um aplicativo COM+ que não usa segurança baseada em função, a verificação programática de funções e as informações de contexto da chamada de segurança não estarão disponíveis. No entanto, você pode usar a funcionalidade de segurança programática fornecida pelo COM. Para obter mais informações, consulte Segurança no COM.

Embora você possa usar a maioria das funcionalidades de segurança fornecidas pelo COM, não é possível chamar CoInitializeSecurity de um componente que faz parte de um aplicativo COM+ porque CoInitializeSecurity é chamado pelo substituto no qual o aplicativo COM+ é executado. No entanto, você pode chamar outras funções de segurança, como CoQueryClientBlanket, que recupera informações sobre o cliente.

Em particular, quando você precisa usar a identidade do cliente para acessar algum recurso — por exemplo, acessar um arquivo protegido por um descritor de segurança ou propagar a identidade do cliente para um banco de dados — você pode executar a representação programaticamente. Para obter mais detalhes sobre quando e como fazer isso, consulte de representação e delegação do cliente .

Testando a funcionalidade de segurança

Se você usar a segurança programática COM+ em seu componente, deverá integrar o componente em um aplicativo COM+ quando estiver pronto para testar a funcionalidade de segurança do componente. Se um componente usando segurança programática COM+ for executado sem ser integrado a um aplicativo COM+, exceções serão lançadas. Portanto, se você quiser garantir que esse componente também seja capaz de ser integrado com êxito em um aplicativo que não faz parte do ambiente COM+, você deve garantir que essas exceções sejam tratadas adequadamente.

Documentando os requisitos de segurança

Se você estiver escrevendo um componente autônomo para aplicativos COM+ que usam segurança baseada em função, precisará documentar o componente para que a segurança possa ser configurada adequadamente quando o componente for integrado a um aplicativo COM+. Por exemplo, você deve identificar as funções que devem ser adicionadas e explicar a quais métodos e interfaces cada função deve ser atribuída. Além disso, se um método como IsCallerInRole("Teller") for chamado, você deve descrever a funcionalidade à qual apenas os Caixas têm acesso. Você também deve especificar se uma função é necessária para ajudar a proteger o acesso a todo o componente.

de autenticação de cliente

de Representação e Delegação de Clientes

de Segurança de Aplicativos de Biblioteca

de segurança de aplicativos multicamadas

de Administração de SegurançaRole-Based

Usando a Diretiva de Restrição de Software no COM+