パッケージ org.opengion.hayabusa.filter

# クラス URLHashFilter

java.lang.Object
org.opengion.hayabusa.filter.URLHashFilter

すべての実装されたインタフェース:
  `Filter`

public final class URLHashFilter extends Object implements Filter
URLHashFilter は、Filter インターフェースを継承した URLチェッククラスです。 web.xml で filter 設定することにより、処理を開始します。 filter 処理は、設定レベルとURLの飛び先により処理方法が異なります。 このフィルターでは、ハッシュ化/暗号化ではなく、アドレスに戻す作業になります。 内部URLの場合はハッシュ化、外部URLの場合は暗号化に適用されます。 基本的には、外部へのURLでエンジンシステムへ飛ばす場合は、暗号化になります。 内部へのURLは、基本的に、パラメータのみ暗号化を行います。なお、直接画面IDを 指定して飛ばす場合を、止めるかどうかは、設定レベルに依存します。 フィルターの設定レベルは、システムリソースの URL_ACCESS_SECURITY_LEVEL 変数で 設定します。 なお、各レベル共通で、戻し処理はレベルに関係なく実行されます。 レベル０：なにも制限はありません。 レベル１：Referer チェックを行います。つまり、URLを直接入力しても動作しません。 ただし、Refererが付いてさえいれば、アクセス許可を与えます。 Referer 無しの場合でも、URLにパラメータが存在しない、または、 アドレスがハッシュ化/暗号化されている場合は、アクセスを許可します。 レベル１の場合、ハッシュ戻し/復号化処理は行います。あくまで、ハッシュ化 暗号化されていない場合でも、Refererさえあれば、許可するということです。 (パラメータなし or ハッシュあり or Refererあり の場合、許可) レベル２：フィルター処理としては、レベル１と同じです。 異なるのは、URLのハッシュ化/暗号化処理を、外部URLに対してのみ行います。 (パラメータなし or ハッシュあり or Refererあり の場合、許可) レベル３：URLのパラメータがハッシュ化/暗号化されている必要があります。 レベル１同様、URLにパラメータが存在しない場合は、アクセスを許可します。 レベル１と異なるのは、パラメータは必ずハッシュ化か、暗号化されている 必要があるということです。(内部/外部問わず) (パラメータなし or ハッシュあり の場合、許可) それ以外：アクセスを停止します。 フィルターに対してweb.xml でパラメータを設定します。 ・filename :停止時メッセージ表示ファイル名(例:/jsp/custom/refuseAccess.html) ・initPage :最初にアクセスされる初期画面アドレス(初期値:/jsp/index.jsp) ・debug :デバッグメッセージの表示(初期値:false) 【WEB-INF/web.xml】 <filter> <filter-name>URLHashFilter</filter-name> <filter-class>org.opengion.hayabusa.filter.URLHashFilter</filter-class> <init-param> <param-name>filename</param-name> <param-value>/jsp/custom/refuseAccess.html</param-value> </init-param> <init-param> <param-name>initPage</param-name> <param-value>/jsp/index.jsp</param-value> </init-param> <init-param> <param-name>debug</param-name> <param-value>false</param-value> </init-param> </filter> <filter-mapping> <filter-name>URLHashFilter</filter-name> <url-pattern>*.jsp</url-pattern> </filter-mapping>

変更履歴:
  5.2.2.0 (2010/11/01) 新規追加
機能分類
  フィルター処理
導入されたバージョン:
  JDK1.6,

- ## コンストラクタの概要

  コンストラクタ
  コンストラクタ
  説明
  `URLHashFilter()`
  デフォルトコンストラクター

- ## メソッドの概要

  修飾子とタイプ
  メソッド
  説明
  `void`
  `destroy()`
  フィルターの終了処理メソッドです。
  `void`
  `doFilter(ServletRequest request, ServletResponse response, FilterChain chain)`
  フィルター処理本体のメソッドです。
  `void`
  `init(FilterConfig config)`
  フィルターの初期処理メソッドです。
  `String`
  `toString()`
  内部状態を文字列で返します。

  ### クラスから継承されたメソッド java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## コンストラクタの詳細

  - ### URLHashFilter

    public URLHashFilter()
    デフォルトコンストラクター
    変更履歴:
      6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor.

- ## メソッドの詳細

  - ### doFilter

    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException
    フィルター処理本体のメソッドです。
    定義:
      `doFilter` インタフェース内 `Filter`
    パラメータ:
      `request` - ServletRequestオブジェクト
      `response` - ServletResponseオブジェクト
      `chain` - FilterChainオブジェクト
    例外:
      `IOException` - 入出力エラーが発生したとき
      `ServletException` - サーブレット関係のエラーが発生した場合、throw されます。
    変更履歴:
      5.3.0.0 (2010/12/01) 文字化け対策として、setCharacterEncoding を実行する。, 6.3.8.3 (2015/10/03) アクセス拒否を示すメッセージファイルの内容を取り出します。

  - ### init

    public void init(FilterConfig config)
    フィルターの初期処理メソッドです。 フィルターに対してweb.xml で初期パラメータを設定します。 ・filename :停止時メッセージ表示ファイル名 ・initPage :最初にアクセスされる初期画面アドレス(初期値:/jsp/index.jsp) ・debug :デバッグメッセージの表示(初期値:false)
    定義:
      `init` インタフェース内 `Filter`
    パラメータ:
      `config` - FilterConfigオブジェクト
    変更履歴:
      5.7.3.2 (2014/02/28) Tomcat8 対応。getRealPath( "/" ) の互換性のための修正。, 6.2.4.1 (2015/05/22) REAL_PATH 対応。realPath は、HybsSystem経由で、取得する。, 6.3.8.3 (2015/10/03) filenameの初期値設定。

  - ### destroy

    public void destroy()
    フィルターの終了処理メソッドです。
    定義:
      `destroy` インタフェース内 `Filter`

  - ### toString

    public String toString()
    内部状態を文字列で返します。
    オーバーライド:
      `toString` クラス内 `Object`
    戻り値:
      このクラスの文字列表示
    このﾒｿｯﾄﾞは、nullを返しません