spring security 原理

110 阅读1分钟

spring security 是spring提供的关于安全认证的项目。spring security主要为用户提供身份认证、权限验证、以及保护我们的应用免受各类的恶意攻击,例如csrf攻击的能力。 它的实现原理其实很简单就是基于java servlet的filter过滤器来实现的。关于filter,附带如下一张时序图来帮助大家理解。

微信支付时序图.png

具体使用方法,可按如下步骤实现。 1.springboot项目,引入spring-boot-starter-security依赖,springboot引入自动化配置功能,开启springsecurity自动化配置。创建如下配置类 ` @Configuration @EnableWebSecurity public class SecurityConfig {

@Bean
public SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
    http
        .csrf(Customizer.withDefaults())
        .authorizeHttpRequests(authorize -> authorize
            .anyRequest().authenticated()
        )
        .httpBasic(Customizer.withDefaults())
        .formLogin(Customizer.withDefaults());
    return http.build();
}
}

` 代码中HttpSecurity 对象可以灵活配置各类自定义的权限过滤器、自定义认证bean、自定义权限验证等。 2.创建认证相关的表。 springsecurity 做权限验证主要依赖 用户表、角色表、权限表、用户角色关联表、角色权限关联表。

后续再慢慢补充相关内容。