public class PermissionCheckHandler extends java.lang.Object implements Handler<java.lang.Object,java.lang.Object>
permissionFactory
 Permissionを生成するPermissionFactory。必須。
 ignoreRequestIds
 | Constructor and Description | 
|---|
PermissionCheckHandler()  | 
| Modifier and Type | Method and Description | 
|---|---|
java.lang.Object | 
handle(java.lang.Object inputData,
      ExecutionContext context)
リクエストIDを使用して認可判定を行う。 
下記の順に処理を行う。 ThreadContextからリクエストIDを取得し、認可判定の対象リクエストかをチェックする。対象でない場合は、認可判定を行わずに次のハンドラに処理を委譲する。 ThreadContext.getUserId()からユーザIDを取得する。ユーザIDが設定されていない場合は、認可判定を行わずに次のハンドラに処理を委譲する。 ユーザに紐付く認可情報を取得し、認可判定を行う。 認可判定に成功した場合は、 ThreadContextにPermissionを設定し、次のハンドラに処理を委譲する。認可判定に失敗した場合は、指定されたリソースパスとステータスコードを使用して Forbiddenをスローする。
 
  | 
PermissionCheckHandler | 
setIgnoreRequestIds(java.lang.String... requestIds)
認可判定を行わないリクエストIDを設定する。 
 | 
PermissionCheckHandler | 
setPermissionFactory(PermissionFactory permissionFactory)
Permissionを生成するPermissionFactoryを設定する。 | 
PermissionCheckHandler | 
setUsesInternalRequestId(boolean usesInternal)
認可判定を内部リクエストIDを用いて行うか否かを設定する。
 
 明示的に設定しなかった場合のデフォルトは true (内部リクエストIDを使用する。) 
 | 
public java.lang.Object handle(java.lang.Object inputData,
                               ExecutionContext context)
                        throws Forbidden
ThreadContextからリクエストIDを取得し、認可判定の対象リクエストかをチェックする。ThreadContext.getUserId()からユーザIDを取得する。ThreadContextにPermissionを設定し、次のハンドラに処理を委譲する。Forbiddenをスローする。
 public PermissionCheckHandler setPermissionFactory(PermissionFactory permissionFactory)
Permissionを生成するPermissionFactoryを設定する。permissionFactory - Permissionを生成するPermissionFactorypublic PermissionCheckHandler setIgnoreRequestIds(java.lang.String... requestIds)
requestIds - 認可判定を行わないリクエストIDpublic PermissionCheckHandler setUsesInternalRequestId(boolean usesInternal)
usesInternal - 内部リクエストIDを使用して判定を行う場合は true
                      常に外部から送信されたリクエストIDを使って判定を行う場合は false