All Downloads are FREE. Search and download functionalities are using the official Maven repository.

nablarch.fw.web.handler.csrf.HttpMethodVerificationTargetMatcher Maven / Gradle / Ivy

The newest version!
package nablarch.fw.web.handler.csrf;

import java.util.Collections;
import java.util.HashSet;
import java.util.Set;

import nablarch.fw.web.HttpRequest;

/**
 * HTTPメソッドをもとにしてHTTPリクエストがCSRFトークンの検証対象となるか判定を行うクラス。
 *
 * 

* デフォルトでは以下のHTTPメソッドをCSRFトークンの検証対象外とする。 *

    *
  • GET
  • *
  • HEAD
  • *
  • TRACE
  • *
  • OPTIONS
  • *
*

* * @author Uragami Taichi * */ public class HttpMethodVerificationTargetMatcher implements VerificationTargetMatcher { /** * allowedMethodsのデフォルト値 */ private static final Set DEFAULT_ALLOWED_METHODS; static { Set allowedMethods = new HashSet(); allowedMethods.add("GET"); allowedMethods.add("HEAD"); allowedMethods.add("TRACE"); allowedMethods.add("OPTIONS"); DEFAULT_ALLOWED_METHODS = Collections.unmodifiableSet(allowedMethods); } /** * CSRFトークンの検証対象外となるHTTPメソッドの集合 */ private Set allowedMethods = DEFAULT_ALLOWED_METHODS; @Override public boolean match(HttpRequest request) { return !allowedMethods.contains(request.getMethod()); } /** * CSRFトークンの検証対象外となるHTTPメソッドの集合を設定する。 * * @param allowedMethods CSRFトークンの検証対象外となるHTTPメソッドの集合 */ public void setAllowedMethods(Set allowedMethods) { this.allowedMethods = allowedMethods; } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy