我在Weblogic 12c的安全配置中发现了一个问题,开发人员可以通过以下方式从生产中获取资源:
InitialContext ic = new InitialContext();
Hashtable<String, String> h = new Hashtable<String, String>(7);
h.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
h.put(Context.PROVIDER_URL, "t3://ip_server:7003");
InitialContext context = new InitialContext(h);
DataSource dataSource = (javax.sql.DataSource) context.lookup("jdbc/name");
我想为这些远程查找设置密码,同样我不想影响服务器中运行的本地应用程序,只是通过执行以下操作从服务器注入jndi资源:
InitialContext ic = new InitialContext();
Resource r = (Resource) ic.lookup("jndi/name");
答案 0 :(得分:0)
由于所有请求都通过Weblogic的安全提供程序运行,因此您可以实现自己的授权提供程序来限制此类访问。
oracle关于开发自己的安全提供程序的文章:http://docs.oracle.com/middleware/1213/wls/DEVSP/atz.htm#DEVSP301