Я пытаюсь сделать очень простую базовую аутентификацию с помощью Spring Security. Я правильно настроил пространство имен, и на сервере нет исключений. В моем «servlet.xml» я получил следующее для Spring Security:
<security:http>
<security:http-basic></security:http-basic>
<security:intercept-url method="POST" pattern="/**" access="ROLE_USER" />
</security:http>
<security:authentication-manager alias="authenticationManager">
<security:authentication-provider>
<security:user-service>
<security:user name="cucu" password="tas" authorities="ROLE_USER" />
<security:user name="bob" password="bobspassword" authorities="ROLE_USER" />
</security:user-service>
</security:authentication-provider>
</security:authentication-manager>
Почти все идет идеально: методы, которые не POST
, не запрашивают никакой формы входа, а POST
способ подсказать это. Проблема в том, что ни cucu
, ни bob
не могут войти туда. Кто-нибудь может увидеть, что я делаю не так?
Заранее спасибо! ; -)
Автоответчик
T_T Два дня ударов головой о код для этого ...
Похоже, это не проблема кода. Я использовал с ним Weblogic, и Weblogic перехватывает запросы с заголовком «авторизация», поэтому он не попадает в мой менеджер аутентификации. Я пробовал это со стеклянной рыбкой, и она отлично работает.
В поисках информации я нашел полезную запись в следующем блоге: http://yplakosh.blogspot.com/2009/05/how-to-fix-basic-authentication- issue.html
Добавление следующей строки в config.xml с моего сервера Weblogic (раздел
):
Weblogic больше не будет перехватывать базовые учетные данные для аутентификации, поэтому их будет обрабатывать ваш менеджер аутентификации.
Надеюсь, это поможет кому-то сэкономить время: -)
попробуйте:
<http auto-config="true>
<security:intercept-url method="POST" pattern="/**" access="ROLE_USER" />
<http-basic />
</http>