У меня есть проект, в котором я пытаюсь использовать 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
Спасибо, Тодд