Confluence 6 企业环境或者网站托管的 Java 配置策略

Confluence 需要依赖一些 Java 的库才能够允运行。一些依赖的 Java 库应用了 Java 的语言特性,但是又是被 Java 的安全策略所限制的。
这个通常来说是不会造成任何问题的。默认的安全配置策略通常对运行 Confluence 没有任何影响。但是在一些共享服务器或者企业部署环境下,安全设定可能会导致 Confluence 不能正常的工作。
当你尝试运行 Confluence 的时候,你可能会遇到下面的错误:

java.security.AccessControlException: access denied (java.lang.RuntimePermission accessDeclaredMembers)
at [java.security.AccessControlContext.checkPermission(AccessControlContext.java(Compiled](https://www.cwiki.us/display/CONF6ZH/java.security.AccessControlContext.checkPermission(AccessControlContext.java(Compiled) Code))
at [java.security.AccessController.checkPermission(AccessController.java(Compiled](https://www.cwiki.us/display/CONF6ZH/java.security.AccessController.checkPermission(AccessController.java(Compiled) Code))
at [java.lang.SecurityManager.checkPermission(SecurityManager.java(Compiled](https://www.cwiki.us/display/CONF6ZH/java.lang.SecurityManager.checkPermission(SecurityManager.java(Compiled) Code))

运行 Confluence 所需要的权限在下面简单的安全配置文件中。你可能需要将这个信息给你的系统管理员,这样你的系统管理员才可以部署 Confluence 应用。

grant codeBase “file:${catalina.home}/webapps/confluence/-” {
permission java.security.AllPermission;
};

grant {
permission java.lang.RuntimePermission “accessDeclaredMembers”;
permission java.lang.reflect.ReflectPermission “suppressAccessChecks”;
permission java.lang.RuntimePermission “defineCGLIBClassInJavaPackage”;
};