2010-02-22 5 views
0

En bref, comment puis-je restreindre l'accès au pool de connexions X en fonction du nom de l'application ou du nom JAR? Un cas d'utilisation simple peut aider ...Restreindre l'accès au pool de connexions dans Weblogic?

Une application Web métier (appelez-la WEB_APP_A) utilise le pool Y pour effectuer une recherche de base SQL. Certains utilisateurs de cette application Web ont également accès à la mise à jour de certaines données sensibles dans la base de données. Ce code est fourni par un fichier JAR (appelez-le HR_JAR) qui peut être déposé si nécessaire. Ce fichier JAR utilise le pool X pour toutes ses connexions. Nous ne voulons pas que les développeurs de WEB_APP_A utilisent le pool X. Nous voulons seulement utiliser HR_JAR en utilisant le pool X. Ceci empêche les développeurs de WEB_APP_A d'abuser accidentellement ou intentionnellement du pool d'accès fourni par X.

Quelques considérations:

  1. C'est le code existant si HR_JAR est là pour rester
  2. Nous courons sur Weblogic 9.2
  3. Nous ne pouvons pas garder les mots de passe dans un de dans le code source
  4. Nous avons recherché authn/authz au niveau de l'utilisateur de weblogic pour des ressources de JDBC mais alors ceci soulève la question; Comment sécuriser les utilisateurs que nous utilisons pour devenir un utilisateur par app/jar?

Idées? Pensées? Je peux en dire plus sur ce que j'ai essayé, mais je voulais de nouvelles idées.

Répondre

0

Il n'y a pas de bon moyen de le faire pour autant que je sache. Il y a quelques astuces astucieuses avec AspectJ mais à la fin c'est plus difficile que ça en vaut la peine.

0

N'avez jamais essayé ceci et n'avez pas accès à une instance pour jouer maintenant, mais dans votre config JDBC vous pourriez essayer d'ajouter un élément <scope> pour l'application contre le pool X, dans le <jdbc-data-source-params> je pense .. Bien que cela suppose que vous avez une application distincte définie pour HR.jar, dont je ne suis pas sûr est le cas de votre description. Je ne sais pas si vous pouvez restreindre un fichier JAR individuel dans une application.

+0

HR JAR est livré avec WEB_APP_A. Dans JBoss, la réponse semble triviale (voir http://www.jboss.org/file-access/default/members/jbossweb/freezone/docs/latest/security-manager-howto.html section "JBoss Web Custom Permissions"). Je n'arrive pas à trouver l'équivalent dans Weblogic. –

+0

@Andrew Je ne suis pas sûr de comprendre comment ce truc JBoss résoudrait votre problème. –

+0

Eh bien, dans JBoss je pourrais faire ce qui suit, non? don codeBase "fichier: $ {catalina.home} /webapps/WEB_APP_A/WEB-INF/lib/HR.jar!/-" { org.apache.naming.JndiPermission "jndi: // localhost/poolX }; –

Questions connexes