springsecurity + jwt +aop 实现认证&授权学习跟实践

spring security 可以解决登录认证跟权限控制问题(基于角色/基于权限) 但是本身登录信息也是依赖session 不能很好的解决分布式单点登录问题

所以引入springsecurity+jwt方式来实现认证 然后可以把登录信息存到redis中 所有分布式应用引用去redis中拿用户信息即可

认证之后的授权有很多种实现方式,可以在上面认证的基础上在springsecurity的配置文件中再根据具体的角色来划分权限来控制,但是这种太死板了 不能细化到接口级别 必须介于角色,但是有些接口权限规则很复杂所有目前常用的是jwt+springsecurity+aop来实现认证&授权的细分

springsecurity引入的目的是为了给拦截器排序让在到达接口前先看是否拥有token,跟放行一些不用认证的资源,记得别忘了,springsecurity的用户认证是被UserDetailService的loadUserByUsername这个方法接管了,我们得自己去查表所以得自己重写.

jwt为了生成token 然后放到redis中

aop是在接口层面去做权限的细分,拥有xxx权限才能访问该接口

下面是一些参考链接

springsecurity+jwt整合实现认证授权 整合springSecurity和JWT实现认证和授权 - 长木木弓 - 博客园

Spring Security到底是在哪里进行的密码方式认证 Spring Security到底在哪里进行密码方式认证_实践求真知-CSDN博客_springsecurity密码校验

Spring Security 认证执行流程 Spring Security 认证执行流程_weixin_34375251的博客-CSDN博客

Spring Security验证登录获得用户名跟密码参数默认是key/value形式,怎么把它改成json格式  前后端分离中,使用 JSON 格式登录原来这么简单!_江南一点雨的专栏-CSDN博客_json登陆

拓展也许会用到的

Spring Security addFilter() 顺序问题 Spring Security addFilter() 顺序问题_猫吻鱼的博客-CSDN博客_springsecurity拦截器顺序

然后自己写了一个小的demo是未连接数据库的,没有单独建一个仓库,整体拉下来看这个项目就可以了

springbootDemo: springboot的一些demo - Gitee.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值