前言
最近在做一个项目用到了spring security,中间学习时走了许多弯路,同时也踩了不少的坑,所以把这次学习过程记录下来,以供以后参考查阅。
一、Spring Security简介
1.Spring Security是一种安全访问控制解决方案的框架,它为应用系统提供声明式的安全访问控制功能,减少了为企业系统安全控制编写大量重复代码的工作;
2.它是基于Spring IOC 和 AOP特性而实现的,所以无法脱离Spring独立存在;
3.Java Web工程中,一般使用Servlet Filter来对请求进行拦截。Spring Security也使用此原理,它通过【过滤器责任链】来组成一系列的过滤策略,不同的条件的请求进入不同的过滤器进行各自的处理逻辑。我们可以对这些Filter进行排列组合以满足我们的实际业务需要。
二、环境搭建
使用Springboot搭建环境非常简单,直接在pom文件中引入下列依赖即可:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
如果是传统的Spring项目,那么需要加上@EnableWebSecurity
来驱动Spring Security的启动,但是如果使用Springboot,那么只需要加入上面的依赖项就可以启动了,启动过程中,可以看到如下打印随机生成密码的日志:
Using generated security password: f8181cd4-4187-4883-a5bd-28c142cd64e1
这个是Spring Security自动生成的一个密码,其账号为user
。现在我们打开浏览器,输入localhost:8080/login
之后就会跳转到一个默认的登录框,输入上述的账号密码即可登录成功。
PS:使用markdown上传本地图片真的是不方便,这次就先不放图片了orz。