【问题标题】:ReflectPermission("suppressAccessChecks")ReflectPermission("suppressAccessChecks")
【发布时间】:2013-05-28 11:45:47
【问题描述】:

我遇到了 ReflectPermission("suppressAccessChecks") 的问题。每当我使用经过身份验证的用户(用户名和密码)登录并尝试访问 .jsp 或我的 Web 应用程序中的任何其他页面时,我都会得到 ​​p>

java.security.AccessControlException: access denied ("java.lang.reflect.ReflectPermission" "suppressAccessChecks")

只有当我通过在 GlassFish 安全属性中检查启用“安全管理器”时才会发生这种情况。当我取消选中此选项时,Web 应用程序正常工作。

我想知道这个原因是什么原因以及如何解决?我认为不建议在安全属性中取消选中安全管理器

虽然我在 GlassFish 安全部分检查了安全管理器,但我尝试在我的 .jsp 代码上方添加以下代码

ReflectPermission refperm = new ReflectPermission("suppressAccessChecks", ""); AccessController.checkPermission(refperm);

但这也无济于事。

【问题讨论】:

    标签: glassfish securitymanager


    【解决方案1】:

    我不确定 glassfish 服务器,但是我通过编辑 catalina.policy 文件并添加行来修复了 tomcat7 中的相同问题

    权限 java.lang.reflect.ReflectPermission "suppressAccessChecks"; 在授予权限下。

    【讨论】: