Restringir o acesso ao pool de conexões no WebLogic?
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:
- Este é o código legado, então hr_jar está aqui para ficar
- Estamos correndo no WebLogic 9.2
- Não podemos manter as senhas em nenhuma delas no código -fonte
- 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.
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.