public class UserRoleAuthorizationInterceptor extends ObjectSE implements HandlerInterceptor
HttpServletRequest.isUserInRole(java.lang.String)
EEコンストラクターと説明 |
---|
UserRoleAuthorizationInterceptor() |
修飾子と型 | メソッドと説明 |
---|---|
protected void | handleNotAuthorized(HttpServletRequestEE request, HttpServletResponseEE response, ObjectSE handler) このインターセプターに従って認可されていないリクエストを処理します。 |
boolean | preHandle(HttpServletRequestEE request, HttpServletResponseEE response, ObjectSE handler) ハンドラーの実行前のインターセプトポイント。 |
void | setAuthorizedRoles(StringSE... authorizedRoles) このインターセプターが承認済みとして扱う必要があるロールを設定します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
afterCompletion, postHandle
public final void setAuthorizedRoles(StringSE... authorizedRoles)
authorizedRoles
- ロール名の配列 public final boolean preHandle(HttpServletRequestEE request, HttpServletResponseEE response, ObjectSE handler) throws ServletExceptionEE, IOExceptionSE
HandlerInterceptor
DispatcherServlet は、任意の数のインターセプターで構成される実行チェーンでハンドラーを処理し、ハンドラー自体を最後に処理します。このメソッドを使用すると、各インターセプターはチェーンの実行を中止することを決定でき、通常は HTTP エラーを送信するか、カスタムレスポンスを作成します。
注意 : 非同期リクエスト処理には特別な考慮事項が適用されます。詳細については、AsyncHandlerInterceptor
を参照してください。
デフォルトの実装は true
を返します。
HandlerInterceptor
の preHandle
request
- 現在の HTTP リクエスト response
- 現在の HTTP レスポンス handler
- 型および / またはインスタンス評価のために、実行するために選択されたハンドラー true
。そうでない場合、DispatcherServlet は、このインターセプターがすでにレスポンス自体を処理していると想定します。ServletExceptionEE
IOExceptionSE
protected void handleNotAuthorized(HttpServletRequestEE request, HttpServletResponseEE response, ObjectSE handler) throws ServletExceptionEE, IOExceptionSE
このメソッドをオーバーライドして、カスタムメッセージを書き込んだり、エラーページやログインページに転送またはリダイレクトしたり、ServletException をスローしたりできます。
request
- 現在の HTTP リクエスト response
- 現在の HTTP レスポンス handler
- 型および / またはインスタンス評価のために、実行するために選択されたハンドラー ServletExceptionEE
- 内部エラーがある場合 IOExceptionSE
- レスポンスの書き込み時に I/O エラーが発生した場合