Я пытаюсь пройти аутентификацию (Basic Auth) в своем приложении Spring, отправив учетные данные в заголовке HTTP.
Я защитил, например, ресурс
http://localhost:8080/app/home
Неаутентифицированные пользователи перенаправляются на
http://localhost:8080/app/login.jsp
Теперь я отправляю запрос GET на localhost:8080/app/home с закодированными учетными данными в заголовке HTTP следующим образом:
Authorization: Basic c2VjcmV0dXNlcjpzZWNyZXRwd2Q=
Я использую плагин Chrome «Advanced Rest Client» для отправки запроса, поэтому я совершенно уверен, что заголовок отправлен правильно. Но сервер отвечает перенаправлением на страницу login.jsp.
Кажется, Spring не принимает заголовок авторизации. Нужно ли настраивать приложение Spring для приема HTTP-заголовка «Авторизация: базовый»?
Это мой файл security-config.xml:
<http use-expressions="true" access-denied-page="/login.jsp?authorization_error=true" xmlns="http://www.springframework.org/schema/security">
<intercept-url pattern="/login.jsp" access="permitAll" />
<intercept-url pattern="/**" access="hasRole('ROLE_USER')" />
<form-login authentication-failure-url="/login.jsp?authentication_error=true" default-target-url="/home"
login-page="/login.jsp" login-processing-url="/login.do" />
<logout logout-success-url="/index.jsp" logout-url="/logout.do" />
<anonymous />
</http>