ReflectPermission (подавить проверки доступа)

У меня проблема с ReflectPermission("suppressAccessChecks"). Всякий раз, когда я вхожу в систему с аутентифицированным пользователем (имя пользователя и пароль) и пытаюсь получить доступ к .jsp или любой другой странице в моем веб-приложении, я получаю

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

Это происходит только в том случае, если у меня включен «Диспетчер безопасности», проверив его в свойствах безопасности GlassFish. Когда я снимаю этот флажок, веб-приложение работает.

Я хотел бы знать, что вызывает эту причину и как ее решить? Я думаю, что не рекомендуется снимать флажок Диспетчер безопасности в свойствах безопасности.

Пока я проверял диспетчер безопасности в разделе «Безопасность GlassFish», я попытался добавить следующий код над своим кодом .jsp.

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

Однако и это не помогло.


person Amir Al    schedule 28.05.2013    source источник


Ответы (1)


Я не уверен насчет сервера Glassfish, но я исправил ту же проблему в tomcat7, отредактировав файл catalina.policy и добавив строку

разрешение java.lang.reflect.ReflectPermission "suppressAccessChecks"; при предоставлении разрешений.

person NaveenT    schedule 19.11.2013