|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Objectjp.terasoluna.fw.web.rich.ForbiddenURIFilter
public class ForbiddenURIFilter
許可されているURI以外へのアクセスを禁止するフィルタ。
ForbiddenURICheckerで許可されたURI以外は外部からアクセスできないようにする。
以下のように web.xmlにフィルタマッピング定義を行う。
【デプロイメントディスクリプタ(web.xml)の設定例】
<filter>
<filter-name>forbiddenURIFilter</filter-name>
<filter-class>jp.terasoluna.fw.web.rich.ForbiddenURIFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>forbiddenURIFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
許可URIのチェックのため、DIコンテナからForbiddenURICheckerを取得する。 取得するBeanIDは”forbiddenURIChecker”とする。 ただしForbiddenURICheckerを取得する際に利用するBeanIDをカスタマイズしたい場合は、 フィルタの初期化パラメータ「”checkerBeanID”」に ForbiddenURICheckerを取得するするためのBean名を記述することで直接指定することができる。 通常は、initParamerの指定は不要である。
【initParameterを利用したデプロイメントディスクリプタ(web.xml)の設定例】
<filter>
<filter-name>forbiddenURIFilter</filter-name>
<filter-class>jp.terasoluna.fw.web.rich.ForbiddenURIFilter</filter-class>
<init-param>
<param-name>checkerBeanID</param-name>
<param-value>newChecker</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>forbiddenURIFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
リクエスト のURIが アクセスを許可するURIではなかった場合には、 ForbiddenURIExceptionをスローする。 スローされた例外は、サーブレットのServletが提供しているエラーページの機能を利用すること。 SimpleMappingExceptionResolverExを参照のこと。
【デプロイメントディスクリプタ(web.xml)の設定例】
<error-page>
<exception-type>jp.terasoluna.fw.web.rich.exception.ForbiddenURIException</exception-type>
<location>/error/forbidden-uri-error.jsp</location>
</error-page>
※ あらかじめ固定のエラー電文を記述した/error/forbidden-uri-error.jspを用意しておくこと。
不正なアクセスを抑止するフィルタであるため、 出来るだけ早いタイミングで最初に実行されるように設定することが望ましい。
コンストラクタの概要 | |
---|---|
ForbiddenURIFilter()
|
メソッドの概要 | |
---|---|
void |
destroy()
フィルタの破棄処理を行う。 |
void |
doFilter(javax.servlet.ServletRequest req,
javax.servlet.ServletResponse res,
javax.servlet.FilterChain chain)
フィルタ処理する。 |
void |
init(javax.servlet.FilterConfig config)
フィルタの初期化を行う。 |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
コンストラクタの詳細 |
---|
public ForbiddenURIFilter()
メソッドの詳細 |
---|
public void init(javax.servlet.FilterConfig config) throws javax.servlet.ServletException
javax.servlet.Filter
内の init
config
- フィルタ設定
javax.servlet.ServletException
- サーブレット例外public void doFilter(javax.servlet.ServletRequest req, javax.servlet.ServletResponse res, javax.servlet.FilterChain chain) throws IOException, javax.servlet.ServletException
javax.servlet.Filter
内の doFilter
req
- HTTPリクエストres
- HTTPレスポンスchain
- チェインされたフィルタ
IOException
- 入出力例外
javax.servlet.ServletException
- サーブレット例外public void destroy()
javax.servlet.Filter
内の destroy
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |