`

spring security中CSRF中设置不针对某些请求过滤

 
阅读更多
在spring security 4中,CSRF默认开启:


<http>
    ...
    <csrf />
</http>


但如果某些URL不想加入CSRF,可以使用下面的办法:

实现RequestMatcher.这个接口中的方法,在这里排除某些URL不做CSRF,比如:

public class CsrfSecurityRequestMatcher implements RequestMatcher {
    private Pattern allowedMethods = Pattern.compile("^(GET|HEAD|TRACE|OPTIONS)$");
    private RegexRequestMatcher unprotectedMatcher = new RegexRequestMatcher("/unprotected", null);
 
    @Override
    public boolean matches(HttpServletRequest request) {
        if(allowedMethods.matcher(request.getMethod()).matches()){
            return false;
        }
 
        return !unprotectedMatcher.matches(request);
    }
}


这里,就是针对/unproted开头的URL,都不用做CSRF了
然后在配置文件中:

<http>
    <csrf request-matcher-ref="csrfSecurityRequestMatcher"/>
</http>


0
1
分享到:
评论

相关推荐

    详解利用spring-security解决CSRF问题

    2. web.xml配置:在web.xml文件中添加Spring Security过滤器,用于拦截所有的HTTP请求。 3. Spring配置文件配置:在Spring配置文件中添加CSRF保护配置,包括headers和csrf配置。 4. 自定义RequestMatcher:开发者...

    详解如何在spring boot中使用spring security防止CSRF攻击

    Spring Boot 中使用 Spring Security 防止 CSRF 攻击 CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF。CSRF 攻击可以盗用用户的...

    SpringSecurity中文文档.zip

    可能包含的内容有:SpringSecurity的架构设计、AOP(面向切面编程)在安全中的应用、基于角色的访问控制(Role-Based Access Control, RBAC)、OAuth支持、CSRF(跨站请求伪造)防护、以及如何与其他Spring模块如...

    Spring Security 资料合集

    - 默认情况下,Spring Security 开启了跨站请求伪造(CSRF)防护,通过生成并验证CSRF令牌,防止恶意第三方发起未经授权的操作。 6. **表达式式语言**: - Spring Security 使用一种强大的表达式语言(EL),如`...

    springsecurity学习笔记

    在"springsecurity学习笔记"中,你可能会涉及以下主题: - Spring Security的基本配置,包括web安全配置和全局安全配置。 - 如何自定义认证和授权流程,比如实现自定义的AuthenticationProvider和...

    狂神Spring Security静态资源

    在Spring Boot中,Spring Security会自动配置许多默认设置。例如,它会为所有HTTP请求创建一个默认的过滤器链,其中包括BasicAuthenticationFilter、CsrfFilter等,这些过滤器负责拦截和处理请求。对于静态资源,...

    SpringSecurity.pdf

    它提供了全面的安全功能,能够处理身份验证、请求过滤以及访问控制等多种安全相关的任务。 认证和授权是安全框架的核心概念。认证是确认用户身份的过程,它要求用户提供有效的凭证(通常是用户名和密码)以证明自己...

    spring security 官方文档

    5. **CSRF保护(Cross-Site Request Forgery)**:默认情况下,Spring Security提供了对CSRF攻击的防护,通过生成和验证CSRF令牌来确保只有合法的请求才能执行。 6. **Web安全(Web Security)**:对于基于Servlet...

    spring security3 中文版本

    Spring Security 3.0.1 是在 Spring Security 3.0 的基础上进行的一次 bug 修复版本,主要针对先前版本中存在的问题进行了修正。此次版本未引入新的功能,但修正了一些已知的问题,增强了稳定性。 ##### 1.4 获取 ...

    SpringSecurity笔记,编程不良人笔记

    - 用户提交登录请求,请求被SpringSecurity的过滤器拦截。 - 认证过滤器(如`UsernamePasswordAuthenticationFilter`)提取用户名和密码,并调用`UserDetailsService`进行验证。 - 验证成功后,创建`...

    Spring Security 源码

    为了防止跨站请求伪造(CSRF)攻击,Spring Security提供了内置的CSRF保护,通过生成和验证CSRF令牌来确保只有合法的请求被处理。 8. **OAuth2集成**: Spring Security支持OAuth2协议,允许第三方应用通过授权...

    spring security 4.0.0所需jar包

    例如,`spring-security-core`负责基本的认证和授权逻辑,`spring-security-web`处理与Web安全相关的请求过滤,而`spring-security-config`则简化了在Spring应用上下文中定义安全规则的过程。 使用时,开发者可以...

    spring_security_3.1

    5. **CSRF(跨站请求伪造)防护**:Spring Security 3.1默认提供了对CSRF攻击的防护,通过生成和验证CSRF令牌来确保只有合法的请求被处理。 6. **Remember Me服务**:此特性允许用户在一段时间内无需重新登录。...

    Spring Security-3中文官方文档(及教程)

    5. **CSRF防护**:为了防止跨站请求伪造攻击,Spring Security提供了内置的CSRF保护,通过生成和验证CSRF令牌来确保只处理来自合法源的请求。 6. **记住我功能**:Spring Security支持“记住我”功能,允许用户在一...

    Spring Security 3 中文 chm

    7. **CSRF(跨站请求伪造)防护**:Spring Security 自动处理CSRF防护,通过生成和验证CSRF令牌,确保只有来自合法来源的请求才能执行有状态的变更操作。 8. **国际化(Internationalization)**:Spring Security ...

    Spring Security 3.pdf

    为了防止跨站请求伪造(CSRF)攻击,Spring Security 3引入了CSRF保护,通过生成和验证CSRF令牌来确保只有来自可信源的请求才能被处理。 六、AOP安全 Spring Security 3集成了Spring的面向切面编程(AOP),允许在...

    SpringSecurity入门小demo(SSM+Spring Security)

    在 `HelloSpringSecurity` 文件中,你可能看到以下关键代码: - **WebSecurityConfigurerAdapter** 类:这是 Spring Security 提供的配置适配器,可以覆盖其方法来定制安全规则。 - `configure(HttpSecurity http)...

    Spring Security简单Demo

    Spring Security是Java领域中一个强大的安全框架,用于处理Web应用程序的安全性问题。它提供了一套全面的解决方案,包括身份验证、授权、会话管理以及防止常见的攻击,如跨站脚本(XSS)、跨站请求伪造(CSRF)等。...

    SpringSecurity 中文文档+简单视频教程

    1. **SpringSecurity架构**:SpringSecurity基于过滤器链的设计,包括了多个核心过滤器,如`DelegatingFilterProxy`、`ChannelProcessingFilter`、`HttpSessionAuthenticationStrategy`等,它们协同工作来处理请求的...

    spring security初步搭建

    7. **启用CSRF防护**:Spring Security默认开启CSRF防护,确保HTTP请求的安全性。 8. **注销功能**:配置注销URL和处理逻辑,确保用户安全退出。 在这个压缩包中,你可能会找到这些配置文件、自定义的过滤器、控制...

Global site tag (gtag.js) - Google Analytics