访问受不同域保护的OWASP CSRFGuard的Restful服务

访问受不同域保护的OWASP CSRFGuard的Restful服务,rest,spring-mvc,cross-domain,owasp,Rest,Spring Mvc,Cross Domain,Owasp,我的应用程序是使用SpringMVC构建的,并且我很少公开RESTfulURI(工作正常) e、 g-//获取登录用户的警报列表 我已使用OWASP CSRFGuard通过以下链接配置了跨站点请求伪造(CSRF)应用程序-(正常工作) Restful服务当前被同一应用程序的UI使用,没有任何问题(工作正常) e、 g-作为同一WebApp的一部分的数据网格通过调用此Restful服务(AJAX请求)显示警报列表 问题:当我尝试从不同的域/Chrome Rest客户端访问相同的Restful服务时

我的应用程序是使用SpringMVC构建的,并且我很少公开RESTfulURI(工作正常) e、 g-//获取登录用户的警报列表

  • 我已使用OWASP CSRFGuard通过以下链接配置了跨站点请求伪造(CSRF)应用程序-(正常工作)

  • Restful服务当前被同一应用程序的UI使用,没有任何问题(工作正常) e、 g-作为同一WebApp的一部分的数据网格通过调用此Restful服务(AJAX请求)显示警报列表

  • 问题:当我尝试从不同的域/Chrome Rest客户端访问相同的Restful服务时,它不会返回除302之外的任何数据

  • 如果我在csrfguard.properties中为restful URI设置“unprotected pages”属性,我就能够从RestClient/不同的域访问restful服务


  • 请建议我是否需要进行任何其他配置,以便可以从不同的域/Chrome rest客户端访问受CSRF保护的相同Restful服务。

    1.如果您正在服务器端生成CSRF令牌,则 在请求验证会话中提供一个get请求,并将创建的CSRF令牌作为隐藏的发送给客户端,现在剩下的请求应该是POST、PATCH、PUT或DELETE,它们在每个请求头中获取CSRF令牌。 2.如果您正在客户端生成CSRF令牌,则从第一个请求(即身份验证或授权)获取令牌的值,并将其与自定义筛选器中的每个请求进行比较

    你可能想试试看。它提供内置的。它更易于维护,使用起来也不那么麻烦。