Pergunta

Em resumo, como posso restringir o acesso ao pool de conexões X com base no nome do aplicativo ou no nome da jarra? Um caso de uso simples pode ajudar ...

Um web-aplicativo de negócios (Call It Web_App_A) usa o Pool Y para fazer o SQL de pesquisa básica. Alguns usuários deste aplicativo da Web têm acesso para atualizar também alguns dados confidenciais no banco de dados. Este código é fornecido por um arquivo JAR (ligue para HR_JAR) que pode ser descartado quando necessário. Este frasco usa o Pool X para todas as suas conexões.

Não queremos desenvolvedores de web_app_a usando o pool X. Queremos apenas hr_jar usando o pool X. Isso é manter os desenvolvedores de web_app_a de abusar acidentalmente ou intencionalmente o pool de acesso X fornece.

Algumas considerações:

  1. Este é o código legado, então hr_jar está aqui para ficar
  2. Estamos correndo no WebLogic 9.2
  3. Não podemos manter as senhas em nenhuma delas no código -fonte
  4. Pesquisamos o nível de usuário WebLogic Authn/Authz para recursos JDBC, mas isso levanta a questão; Como protegemos os usuários que usamos para nos tornarmos um usuário por aplicativo/jar?

Ideias? Pensamentos? Posso elaborar mais sobre o que tentei, mas queria novas idéias.

Foi útil?

Solução 2

Não há uma boa maneira de fazer isso até onde eu sei. Existem alguns truques inteligentes com as aspectos, mas no final é mais problemas do que vale a pena.

Outras dicas

Nunca tentei isso e não tenho acesso a uma instância para jogar agora, mas na sua configuração JDBC você pode tentar adicionar um <scope> elemento para a aplicação contra o pool x, dentro do <jdbc-data-source-params> Eu acho ... embora isso assuma que você tenha um aplicativo separado definido para o Hr.Jar, o que não tenho certeza de que é o caso da sua descrição. Não sei se você pode restringir um frasco individual em um aplicativo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top