org.opengion.hayabusa.filter

## クラス URLCheckFilter

- java.lang.Object
- - org.opengion.hayabusa.filter.URLCheckFilter

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

      public final class URLCheckFilter
      extends java.lang.Object
      implements Filter

       URLCheckFilter は、Filter インターフェースを継承した URLチェッククラスです。
       web.xml で filter 設定することにより、該当のリソースに対して、og:linkタグで、
       useURLCheck="true"が指定されたリンクURL以外を拒否することができます。
       また、og:linkタグを経由した場合でも、リンクの有効期限を設定することで、
       リンクURLの漏洩に対しても、一定時間の経過を持って、アクセスを拒否することができます。
       また、リンク時にユーザー情報も埋め込んでいますので(初期値は、ログインユーザー)、
       リンクアドレスが他のユーザーに知られた場合でも、アクセスを拒否することができます。

       システムリソースの「URL_CHECK_CRYPT」で暗号復号化のキーを指定可能です。
       指定しない場合はデフォルトのキーが利用されます。
       キーの形式はHybsCryptographyに従います。

       フィルターに対してweb.xml でパラメータを設定します。
         ・filename :停止時メッセージ表示ファイル名
         ・ignoreURL:暗号化されたURLのうち空白に置き換える接頭文字列を指定します。
                    外部からアクセスしたURLがロードバランサで内部向けURLに変換されてチェックが動作しないような場合に
                    利用します。https://wwwX.のように指定します。通常は設定しません。

       【WEB-INF/web.xml】
           <filter>
               <filter-name>URLCheckFilter</filter-name>
               <filter-class>org.opengion.hayabusa.filter.URLCheckFilter</filter-class>
               <init-param>
                   <param-name>filename</param-name>
                   <param-value>jsp/custom/refuseAccess.html</param-value>
               </init-param>
           </filter>

           <filter-mapping>
               <filter-name>URLCheckFilter</filter-name>
               <url-pattern>/jsp/*</url-pattern>
           </filter-mapping>

  機能分類
    フィルター処理
  バージョン
    4.0
  作成者
    Hiroki Nakamura
  導入されたバージョン:
    JDK5.0,

- - ### コンストラクタのサマリー

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

  - ### メソッドのサマリー

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

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

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

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

    - #### URLCheckFilter

          public URLCheckFilter()

      デフォルトコンストラクター
      変更履歴:

        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 java.io.IOException,
                               ServletException

      フィルター処理本体のメソッドです。
      定義:
        `doFilter` インタフェース内 `Filter`
      パラメータ:
        `request` - ServletRequestオブジェクト
        `response` - ServletResponseオブジェクト
        `chain` - FilterChainオブジェクト
      例外:
        `ServletException` - サーブレット関係のエラーが発生した場合、throw されます。
        `java.io.IOException`
      変更履歴:

        6.2.0.0 (2015/02/27) new BufferedReader … を、FileUtil.getBufferedReader … に変更。
        6.3.1.0 (2015/06/28) nioを使用すると UTF-8とShuft-JISで、エラーになる。
        6.3.8.3 (2015/10/03) アクセス拒否を示すメッセージファイルの内容を取り出します。

    - #### init

          public void init(FilterConfig filterConfig)

      フィルターの初期処理メソッドです。 フィルターに対してweb.xml で初期パラメータを設定します。 ・filename :停止時メッセージ表示ファイル名(初期:jsp/custom/refuseAccess.html) ・decode :URLデコードを行ってチェックするか(初期:true) ・ignoreURL :暗号化されたURLのうち空白に置き換える接頭文字列を指定します(初期:null) ・debug :URLデコードを行ってチェックするか(初期:false)
      定義:
        `init` インタフェース内 `Filter`
      パラメータ:
        `filterConfig` - FilterConfigオブジェクト
      変更履歴:

        5.4.5.0 (2102/02/28)
        5.7.3.2 (2014/02/28) Tomcat8 対応。getRealPath( "/" ) の互換性のための修正。
        5.8.6.1 (2015/04/17) DMZのURL変換対応
        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 java.lang.String toString()

      内部状態を文字列で返します。
      オーバーライド:
        `toString` クラス内 `java.lang.Object`
      戻り値:
        このクラスの文字列表示
      このメソッドは、nullを返しません

Webアプリケーションフレームワーク openGion
Copyright (c) 2009 The openGion Project.