我在 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");