Compartilhar via


Projetando para segurança

Sua estratégia de segurança de ponta a ponta obviamente depende do tipo de aplicativo distribuído que você está desenvolvendo. A seguir estão várias sugestões para abordar a segurança em relação à lógica de aplicativo de camada intermediária:

  • Para eficiência e desempenho, autentique-se o mais próximo possível do usuário. Se seu aplicativo envolver uma arquitetura de navegador para lógica de negócios para banco de dados, considere mapear os clientes de navegador para identidades de domínio, executar o aplicativo COM+ sob identidades específicas para cada aplicativo e configurar tabelas na camada de dados para serem acessíveis somente por uma identidade de aplicativo específica. Esse cenário de servidor confiável é mais escalonável e menos problemático do que usar o DBMS para autenticação.
  • Se você estiver criando um componente que será usado em um aplicativo distribuído usando segurança baseada em função, poderá usar a funcionalidade de segurança COM+. Essa funcionalidade permite chamar métodos como IObjectContext::IsCallerInRole e IObjectContext::IsSecurityEnabled para ajudar a proteger blocos de código contra acesso não autorizado. Você também pode usar o contexto de chamada de segurança para obter informações sobre os chamadores de um objeto.
  • Se você estiver criando um componente que será usado em um aplicativo distribuído sem usar a segurança baseada em função, a segurança será verificada automaticamente somente no nível do processo. As permissões de acesso ao processo determinam a quem é dado acesso ao aplicativo. Se você precisar de um controle mais refinado sobre as configurações de segurança no processo ou no nível da interface, use a funcionalidade de segurança programática fornecida pelo COM.
  • 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ê deseja que esse componente seja integrado com êxito em um aplicativo que não faz parte do ambiente COM+, você deve lidar com todas as exceções adequadamente.

Projetando para disponibilidade

Projetando para implantação

Projetando para escalabilidade

Segurança de componentes programáticos