Class CsrfUtil

java.lang.Object
org.apache.ofbiz.security.CsrfUtil

public final class CsrfUtil extends Object
  • Method Details

    • getTokenMap

      public static Map<String,String> getTokenMap(HttpServletRequest request, String targetContextPath)
    • generateTokenForNonAjax

      public static String generateTokenForNonAjax(HttpServletRequest request, String pathOrRequestUri)
      Generate CSRF token for non-ajax request if required and add it as key to token map in session When token map size limit is reached, the eldest entry will be deleted each time a new entry is added. Token only generated for up to 3 subfolders in the path so 'entity/find/Budget/0001' and 'entity/find/Budget/0002' should share the same CSRF token.
      Parameters:
      request -
      pathOrRequestUri -
      Returns:
      csrf token
    • generateTokenForAjax

      public static String generateTokenForAjax(HttpServletRequest request)
      generate csrf token for AJAX and add it as value to token cache
      Parameters:
      request -
      Returns:
      csrf token
    • getTokenForAjax

      public static String getTokenForAjax(HttpSession session)
      get csrf token for AJAX
      Parameters:
      session -
      Returns:
      csrf token
    • addOrUpdateTokenInUrl

      public static String addOrUpdateTokenInUrl(String link, String csrfToken)
    • addOrUpdateTokenInQueryString

      public static String addOrUpdateTokenInQueryString(String link, String csrfToken)
    • checkToken

      Throws:
      RequestHandlerException
      RequestHandlerExceptionAllowExternalRequests
    • cleanupTokenMap

      public static void cleanupTokenMap(HttpSession session)
    • getTokenNameNonAjax

      public static String getTokenNameNonAjax()
      Returns:
      the tokenNameNonAjax
    • setTokenNameNonAjax

      public static void setTokenNameNonAjax(String tokenNameNonAjax)
      Parameters:
      tokenNameNonAjax - the tokenNameNonAjax to set
    • getStrategy

      public static ICsrfDefenseStrategy getStrategy()
      Returns:
      the strategy
    • setStrategy

      public static void setStrategy(ICsrfDefenseStrategy strategy)
      Parameters:
      strategy - the strategy to set