HTTP ヘッダーで資格情報を送信することにより、Spring アプリケーションに対して認証 (基本認証) を試みます。
私は、例えば、リソースを保護しました
http://localhost:8080/app/home
認証されていないユーザーはリダイレクトされます
http://localhost:8080/app/login.jsp
ここで、次のように HTTP ヘッダーにエンコードされた資格情報を含む GET 要求を localhost:8080/app/home に送信します。
Authorization: Basic c2VjcmV0dXNlcjpzZWNyZXRwd2Q=
「Advanced Rest Client」Chrome プラグインを使用してリクエストを送信するので、ヘッダーが正しく送信されると確信しています。しかし、サーバーは login.jsp ページへのリダイレクトで応答します。
Spring は Authorization ヘッダーを取らないようです。「Authorization: Basic」HTTP ヘッダーを受け入れるように Spring アプリケーションを構成する必要がありますか?
これは私の 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>