Анонимный фильтр Apache Shiro не работает

У меня есть проект, в котором я пытаюсь использовать Apache Shiro для реализации уровня безопасности. По большей части это, кажется, работает довольно хорошо. До этого момента я использовал фильтр «authc», и он работал, как и ожидалось. Однако я хотел бы переместить файл login.jsp в другую общедоступную папку, к которой не предъявляются строгие требования безопасности.

Ниже приведены соответствующие записи файла shiro.ini.

shiro.loginUrl = /public/pages/login.jsp

jdbcRealm = ...
:
:

ds = ...
:
:
jdbcRealm.dataSource = $ds

[users]
[roles]
[urls]
/public/**  = anon
/secure/**  = authc
/logout     = logout

Когда /public/** = authc или anon, я могу попытаться перейти непосредственно на страницу с URL-адресом /secure и правильно перейти на страницу login.jsp. Проверить. Проверить.

После заполнения имени пользователя и пароля на странице login.jsp и отправки формы все ломается...

Если /public/** = authc, то я попадаю на исходную страницу, на которую пытался попасть по URL-адресу /secure. Так что это работает.

Если /public/** = anon, то login.jsp будет перезагружен. Меня не перенаправляют на страницу в каталоге /secure, к которой я изначально пытался попасть. То же самое произойдет, если я не добавлю запись для шаблона URL /public/**.

Кажется, есть какой-то фундамент Широ, который мне не хватает. Если вам нужно увидеть что-то еще в проекте, я загрузил это на BitBucket здесь.

https://[email protected]/tfeinstein/vikos.git

Спасибо, Тодд


person Todd F    schedule 28.01.2014    source источник


Ответы (1)


Можешь попробовать добавить

authc.successUrl  = "default sucess url for logged in"

в [главном] блоке

/public/pages/login.jsp = authc 

как первая строка вашего блока [urls]

person Dev    schedule 04.02.2014
comment
Я вставил вашу рекомендацию, а также попытку, где { authc.successUrl = /secure/pages/User.jsp } но по какой-то причине это привело к переопределению перенаправления Struts2 для localhost/Vikos/secure/user на логин .jsp URL-адрес, который был недействительным. localhost/Vikos/login.jsp вместо localhost/Vikos/secure/pages/login.jsp. - person Todd F; 06.02.2014
comment
На данный момент похоже, что могут быть некоторые проблемы со Struts2, и Широ мешают друг другу. - person Todd F; 06.02.2014