残念ながら、Spring Securityで使用できるデフォルトの実装では不可能です。
私は
MethodSecurityInterceptor
は、メソッド呼び出しを保護するための責任があるソースコードを調査し...。アクセスの決定をAccessDecisionManager
に委任します。 私はAccessDecisionManager
のすべての実装をチェックしました。
をConsensusBased AffirmativeBasedそれらのそれぞれは、同様の方法でAccessDeniedException
例外がスローされます。
case AccessDecisionVoter.ACCESS_DENIED:
throw new AccessDeniedException(
messages.getMessage("AbstractAccessDecisionManager.accessDenied",
"Access is denied")
);
AbstractAccessDecisionManager.accessDenied
は、ローカライズできるメッセージの名前です。
英語の場合には、次のとおりです。上の理由について
AbstractAccessDecisionManager.accessDenied=Access is denied
あり箱のうち利用可能ないくつかの言語があり、そしてあなたが翻訳を所有することができますが、...
すべてです
、これ以上の情報は、例外。
例外メッセージのローカライズについての詳細情報:
http://static.springsource.org/spring-security/site/docs/3.1.x/reference/springsecurity-single.html#localization
同じ問題がここのように定義されたエラーを取得することができます。 AccessDecisionVotersがACCESS_GRANTEDまたはACCESS_DENIEDを返すだけでなく、理由/原因を保持できるAccessDeniedDecisionを返す場合は便利です – Janning
jiraの問題を作成しました:https://jira.springsource.org/browse/SEC-2148 – Janning