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是未连接数据库的,没有单独建一个仓库,整体拉下来看这个项目就可以了
1万+

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



