Jdbc 在Weblogic中限制对连接池的访问?

Jdbc 在Weblogic中限制对连接池的访问?,jdbc,weblogic,pool,authz,Jdbc,Weblogic,Pool,Authz,简而言之,如何根据应用程序名或JAR名限制对连接池X的访问?一个简单的用例可能会有帮助 业务web应用程序(称为web\u app\u A)使用池Y执行基本的SQL查找。此web应用程序的某些用户还可以更新数据库中的某些敏感数据。这段代码由一个JAR文件(称之为HR_-JAR)提供,可以在需要的地方放入该文件。这个JAR使用poolx进行所有连接 我们不希望WEB_APP_A的开发人员使用pool X。我们只希望HR_JAR使用pool X。这是为了防止WEB_APP_A的开发人员意外或故意滥用

简而言之,如何根据应用程序名或JAR名限制对连接池X的访问?一个简单的用例可能会有帮助

业务web应用程序(称为web\u app\u A)使用池Y执行基本的SQL查找。此web应用程序的某些用户还可以更新数据库中的某些敏感数据。这段代码由一个JAR文件(称之为HR_-JAR)提供,可以在需要的地方放入该文件。这个JAR使用poolx进行所有连接

我们不希望WEB_APP_A的开发人员使用pool X。我们只希望HR_JAR使用pool X。这是为了防止WEB_APP_A的开发人员意外或故意滥用pool X提供的访问权限

一些考虑:

  • 这是遗留代码,所以HR_JAR将留在这里
  • 我们正在运行WebLogic9.2
  • 我们不能在源代码中保留任何形式的密码
  • 我们已经针对JDBC资源研究了weblogic用户级authn/authz,但这就引出了一个问题;我们如何确保我们用来成为每个app/jar用户的用户信誉

  • 想法?思想?我可以详细说明我已经尝试过的内容,但我需要新的想法。

    从未尝试过这一点,而且现在无法访问要播放的实例,但是在JDBC配置中,您可以尝试在
    中为针对池X的应用程序添加
    元素,我认为。。。尽管这假设您有一个为HR.jar定义的单独应用程序,但我不确定您的描述是否如此。不过,我不知道您是否可以在应用程序中限制单个JAR。

    据我所知,没有什么好方法可以做到这一点。AspectJ有一些巧妙的技巧,但最终它的麻烦比它的价值还多。

    HR JAR随WEB_APP_A一起提供。在JBoss中,答案似乎微不足道(请参阅“JBoss WEB自定义权限”一节)。我似乎在Weblogic中找不到类似的东西。@Andrew我不确定JBoss的东西是如何解决您的问题的。嗯,在JBoss中我可以做以下事情,对吗?grant代码库“jar:file:${catalina.home}/webapps/WEB_APP_A/WEB-INF/lib/HR.jar!-“{org.apache.naming.JndiPermission”jndi://localhost/poolX安德鲁:是的。再读一遍,你似乎是对的。