-
Spring Security 是针对Spring项目的安全框架,也是Spring Boot底层安全模块默认的技术选型,他可以实现强大的Web安全控制,对于安全控制,我们仅需要引入 spring-boot-starter-security 模块,进行少量的配置,即可实现强大的安全管理!
-
记住两个类和一个注解:
- WebSecurityConfigurerAdapter:自定义Security策略
- AuthenticationManagerBuilder:自定义认证策略
- @EnableWebSecurity:开启WebSecurity模式
-
Spring Security的两个主要目标是 “认证” 和 “授权”(访问控制)
-
“认证”(Authentication)
- 身份验证就是验证您的身份凭据,如用户名/用户ID和密码,以验证您的身份是否合法
- 身份验证通常通过用户名和密码完成,有时与身份验证因素结合使用
-
“授权” (Authorization)
- 授权发生在系统成功验证您的身份后(即你需要先通过认证证明你的身份合法性,spring security才会去检查你的身份对应的角色,spring security才会对你进行授权验证,对比你请求的资源是不是你对应的角色的权限范围内的,是就返回资源,不是就403)
-
-
这两个概念是通用的,而不是只在Spring Security 中存在
1.导入依赖
- 导入依赖,只需要导入启动器即可,我们可以在原来有的启动器依赖上面修改即可导入,这是因为springBoot的启动器依赖格式都是spring-boot-starter-XXX
<!--Spring Security的依赖--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> - 我们可以观察一下这个依赖为我们导入的其他依赖

- 可以发现它导入了aop依赖和安全配置和安全web依赖
2.简单上手
@EnableWebSecurity //使用注解@EnableWebSecurity
public class Config extends WebSecurityConfigurerAdapter {
//继承WebSecurityConfigurerAdapter
@Override
protected void configure(HttpSecurity http) throws Exception {
//覆写configure()即可
http
.apply(customDsl())
.flag(true)
.and()
...;
}
}
- 按照官方模板创建一个config
package com.thhh.config; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; @EnableWebSecurity public class SecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { super.configure(http); } }
1.授权(Authorization/or)
- 需求:首页大家都可以访问,但是其他功能也只有有权限的人才能进行访问
- 注意:按照模板写的方法是对父类的方法的覆写,所以方法具体怎么实现我们可以去参照父类的实现

- 照猫画虎实现覆写的方法
package com.thhh.config; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework

本文介绍如何使用SpringSecurity实现项目的认证和授权功能,通过简单的步骤引入依赖并配置,即可为项目增加强大的安全控制。


最低0.47元/天 解锁文章
1419

被折叠的 条评论
为什么被折叠?



