SpringBoot-集成SpringSecurity+jwt详解+代码

SpringSecurity是什么?简单而言是一套权限鉴定完整框架!

印象最深是有它的一套拦截链实现拦截,权鉴等措施。

看本文须知:忘掉最简单配置的SpringSecurity

SpringSecurity为什么存在?不用自己去手写拦截了!简单!完整!

思路描述:

首先用户如果不登陆,就无法对特定的请求,页面进行访问:如淘宝的购买商品,是不是会提示你登录?

登录,注册相关不必拦截。我们只拦截需要验证权限的路由!

那么请大家先随便写个对(A用户)登录注册的代码!需要集成jwt哟!这些基本操作不必多言。登录完成返回token即可。

好的。再写一个对(A用户)注销,冻结等操作的代码!注销操作是不是要确定是不是你本人,或后台的超级管理员呢?是的!

1.那么是不是要对请求对A用户注销操作的人进行判定呢(是不是A本人)?是的!

2.那么是不是要看看是不是超级管理员(具备冻结权限)或者普通管理员呢(不具备冻结权限)呢?是的

好的,那么进入1.2解题

SpringSecurity怎么实现权限拦截分发?

刚刚电脑死机,写的没保存。晚上再补回来!稍等

好的,开始。目的:拦截所有非登录模块的url

首先几个主要类:

UserDetailsService需要实现loadUserByUsername拿来返回UserDetails(可以实现它,也可以直接new它)主要拿它来当前需要验证的用户(也就是拿数据库中的用户与token对比是否一致,token只是令牌所以要解析成用户)

一个总配置类:WebSecurityConfigurerAdapter 需要实现它的拦截链条(自己的拦截拦截逻辑)

一个用来实现自己验证的的类:UsernamePasswordAuthenticationFilter(完成自己的逻辑后设置验证结果,放行)这个类的话,其实可以是其他几个filter(通过,递交认证成功用户实体给security认证类),或者是security的验证类中(验证类修改认证逻辑),理论状态下只要在主验证类之前的拦截类都可以去继承实现它。

https://blog.csdn.net/xqt8888/article/details/82114440 参考。

还有一个错误捕捉类,自行百度哟

 

你可能感兴趣的:(SpringBoot-集成SpringSecurity+jwt详解+代码)