5我之前没有在 Websphere 上工作过,现在遇到了安全问题。
- 我在 WebSphere 中部署了一个 War 文件。路径:C:\IBM\WebSphere\AppServer\profiles\AppSrv01\installedApps\ip-0AC30DDBNode01Cell\DMS_war.ear
- 在 UI 中,当我们单击特定按钮时,它会加载一个 JSP 文件,该文件又会尝试读取一个 xml 文件(存储在 WEB-INF/classes/mcc.xml 中)。
- jsp 文件无法读取 xml 文件。
请帮助如何添加安全性/权限 WebSphere。另外我不确定我们必须在哪个文件中执行此操作。(app.policy,java.policy,was.policy)
日志
com.ibm.ws.webcontainer.servlet.ServletWrapper service SRVE0068E: 在应用程序 DMS_war 中的 servlet /awc/pcmgr/pcmgr.jsp 的服务方法之一中创建了未捕获的异常。异常创建:java.security.AccessControlException:访问被拒绝(java.io.FilePermission C:\IBM\WebSphere\AppServer\profiles\AppSrv01\installedApps\ip-0AC30DDBNode01Cell\DMS_war.ear\DMS.war\WEB-INF\classes\ mcc.xml 读取) 在 java.security.AccessController.checkPermission(AccessController.java:108) 在 java.lang.SecurityManager.checkPermission(SecurityManager.java:532) 在 java.lang.SecurityManager.checkRead(SecurityManager.java:871)
到目前为止,我尝试了一切,这是最新的was.policy文件。(位置:META-INF/)
//
// Template policy file for enterprise application.
// Extra permissions can be added if required by the enterprise application.
//
// NOTE: Syntax errors in the policy files will cause the enterprise application FAIL to start.
// Extreme care should be taken when editing these policy files. It is advised to use
// the policytool provided by the JDK for editing the policy files
// (WAS_HOME/java/jre/bin/policytool).
//
grant codeBase "file:${application}" {
permission java.security.AllPermission;
};
grant codeBase "file:${jars}" {
};
grant codeBase "file:${connectorComponent}" {
};
grant codeBase "file:${webComponent}" {
};
grant codeBase "file:${ejbComponent}" {
};
更新:这是现有代码读取 XML 文件的方式
SAXBuilder builder = new SAXBuilder();
Document doc = builder.build(getServletContext().getRealPath("/WEB-INF/classes/mcc.xml"));
// Use doc to get properties defined in file
谢谢