SpringBoot集成SpringSecurity的个人理解

springboot集成springsecurity步骤
1.在pom中引入相关jar
org.springframework.boot spring-boot-starter-security
2.实现 自己的SecurityConfig类(名字随意),需要继承 WebSecurityConfigurerAdapter,然后重写 configure(HttpSecurity hhtp)方法,该方法主要是配置 http 请求的拦截规则

上面只是跟你讲一下大致的步骤,下面讲一下这个配置类。

如图,这是一个springsecurity的配置类,@Configuration代表这是一个配置类,@EnableWebSecurity代表开启Spring Security的功能

这个配置类中,有三个方法,我们一个一个解释

第一个

刚开始理解,我就不懂这个方法是干嘛的,然后查询后理解:WebSecurity主要是配置跟web资源相关的,比如css、js、images等等。ingore是完全绕过了spring security的所有filter,相当于不走spring security。就是把一些静态资源开放给前端

里面引号引起来,就是可以直接访问的路径,不要登录啊或者需要某种角色的权限就能访问的路径。例如最后两个,就是我这个项目首页需要访问的接口。

第二个

这个方法主要就是配置权限的。其中http.authorizeRequests().antMatchers(exclusivePaths).permitAll() 这句是指允许所有人访问exclusivePaths数组中的资源(静态资源、登录的 url)。当然图中这个方法,没有permitall方法,都是配置了权限的。

然后中间两个方法andfilter,andprovider啊,就是自定义的东西,一个是拦截器,一个是验证token的。这个是集成了jwt的东西,所以看上去复杂一点。

anyRequest().authenticated()是指除了上一句过滤的请求之外的所有请求都需要认证才能访问

formLogin()是默认的登录表单页,如果不配置 loginPage(url),则使用 spring security 默认的登录页,如果配置了 loginPage()则使用自定义的登录页

csrf().disable()。我这个项目使用的是jwt,所以不需要csrf。

第一个和第二个方法的区别

第三个

这个是配置跨域请求的,我上一篇对这个方法进行了解释,这里就不再赘述了。

这个方法springsecurity一般是不要的,只是项目有跨域需求,所以配置了。

 

后面我写了一篇springsecurity框架概述,更偏向于理论学习,有兴趣可以去我的空间翻阅,谢谢支持。

转载于:https://my.oschina.net/u/3343536/blog/1843676

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值