簡而言之,如何根據應用程序名稱或JAR名稱限制對連接池X的訪問?一個簡單的用例可能會有所幫助...在Weblogic中限制對連接池的訪問?
商業Web應用程序(稱爲WEB_APP_A)使用池Y來執行基本的查找SQL。這個網絡應用程序的一些用戶也可以訪問數據庫中的一些敏感數據。該代碼由JAR文件提供(稱爲HR_JAR),可以在需要的地方放置該文件。這個JAR使用池X來連接它的所有連接。
我們不希望WEB_APP_A的開發人員使用池X.我們只希望使用池X的HR_JAR。這是爲了防止WEB_APP_A的開發者意外或故意濫用訪問池X提供的訪問池。
一些注意事項:
- 這是遺留代碼,以便HR_JAR在這裏停留
- 我們在WebLogic 9.2上運行
- 我們不能將密碼在任何從源代碼
- 我們已經研究了用於JDBC資源的weblogic用戶級別authn/authz,但這引發了問題;我們如何確保我們用來成爲每個應用程序/ jar的用戶的用戶信譽?
想法?思考?我可以更詳細地闡述我嘗試過的東西,但我想要新的想法。
HR JAR附帶WEB_APP_A。在JBoss中,答案似乎微不足道(參見http://www.jboss.org/file-access/default/members/jbossweb/freezone/docs/latest/security-manager-howto.html「JBoss Web自定義權限」部分)。我似乎無法在Weblogic中找到等價物。 – 2010-02-23 02:59:21
@Andrew我不知道這個JBoss的東西如何解決你的問題。 – 2010-02-23 08:58:27
那麼,在JBoss中我可以做到以下幾點,對吧? grant codeBase「jar:file:$ {catalina.home} /webapps/WEB_APP_A/WEB-INF/lib/HR.jar!/ - 」{org.apache.naming.JndiPermission「jndi:// localhost/poolX ; }; – 2010-02-23 15:48:01