0

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

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

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

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

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

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

然而,这也没有帮助。

4

1 回答 1

0

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

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

于 2013-11-19T19:14:04.087 回答