URI を作成するときは、特定の規則に従います。/login
、などのすべての認証関連の URIは/logout
、/changepassword
サブコンテキスト に分類されます/auth
。
したがって、認証関連の URI は次のようになります。
/auth/login
/auth/logout
/auth/changepassword
これは、Spring セキュリティ コンテキスト XML にあるものです。
<http pattern="/auth/**" security="none" />
<http pattern="/resources/**" security="none" />
<http auto-config="true" access-decision-manager-ref="accessDecisionManager">
<intercept-url pattern="/admin/**" access="ADMINISTRATIVE_ACCESS"/>
<intercept-url pattern="/**" access="XYZ_ACCESS"/>
<form-login
login-page="/auth/login"
default-target-url="/content"
authentication-failure-url="/auth/loginFailed"
authentication-success-handler-ref="authenticationSuccessHandler"/>
<logout logout-url="/auth/logout" logout-success-url="/auth/login"/>
</http>
今の問題は/auth/logout
、アクセスすると 404 が表示されることです。ただし、や/auth
など以外のもので始まるように変更すると、正常に動作します。/abcd/logout
/logout
これは、セキュリティで保護されていないと定義/auth/**
しているにもかかわらず、ログアウト ページとして使用しようとしていることが原因であると考えています。(ログインしていない場合、どうすればログアウトできますか?)
かなり厳格な URI 命名規則を満足させるために、これを回避する方法はありますか?