0

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

一个商业网络应用程序(称为 WEB_APP_A)使用池 Y 来执行基本的查询 SQL。此网络应用程序的一些用户还可以访问数据库中的一些敏感数据。此代码由 JAR 文件(称为 HR_JAR)提供,可以在需要的地方放入该文件。此 JAR 使用池 X 进行所有连接。

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

一些考虑:

  1. 这是遗留代码,所以 HR_JAR 将继续存在
  2. 我们在 Weblogic 9.2 上运行
  3. 我们不能在源代码中保存密码
  4. 我们已经研究了 JDBC 资源的 weblogic 用户级 authn/authz 但这引出了一个问题;我们如何保护我们用来成为每个应用程序/jar 用户的用户信用?

想法?想法?我可以详细说明我尝试过的方法,但我想要新的想法。

4

2 回答 2

0

从来没有尝试过这个并且现在无法访问要播放的实例,但是在您的 JDBC 配置中,您可以尝试<scope>在池 X 中为应用程序添加一个元素,<jdbc-data-source-params>我认为......虽然这假设您有为 HR.jar 定义的单独应用程序,我不确定您的描述是否属于这种情况。我不知道您是否可以在应用程序中限制单个 JAR。

于 2010-02-22T22:36:19.513 回答
0

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

于 2010-12-03T16:58:05.203 回答