springboot实现身份认证

        好久没总结项目了,最近一直比较忙都在加班,在整一个定制项目公交行业的,大致内容就是由于这几年受疫情影响好多年没有组织扫墓活动了,想通过定制车辆去扫墓,然后公交行业又有资源,是想做h5嵌入到公交app里面跟app做授权,有用户端和司机端,目前是这样做,然后有自己的一个管理平台做crud,大致有两个项目,

  1. 需要一个管理平台,去管理一些基础数据有一些导入导出功能,能实现基础表的crud操作,这里主要用的是人人开源的开源版本,前后台都是用的人人的,还是比较好上手的,后端是springboot 2.2.x,前端是vue2.6.x,没有什么要总结
  2. 然后有一个spring cloud的后端服务项目,主要做C端的访问服务,主要用的技术栈就是spring cloud alibaba的那套框架,目前没跨服务访问,大哥的意思是将相同业务的代码放到一起就不用去管理复杂的分布式事务了,框架分层跟我以前做的项目不太一样,分module是,一个common、一个定制服务、一个租车服务、一个网关,定制服务下有两个服务:用户服务和司机服务、租车服务下有两个服务:一个用户服务和司机服务。
  3. 用了nacos,目前没有做服务发现使用,只是做为配置中心使用。
  4. 用了gateway,目前就做了一些授权验证,有权限的让调用接口操作,基于jwt。
  5. 用了数是msql5.7.x的数据库,大哥的意思是用户和订单量比较大,用shaarding-jdbc做一个下水平分表,目前是打算分三个表。
  6. 用了redis+lua脚本,主要是做一些基础表缓存、token、和库存扣减操作。
  7. 用了rocketMQ,主要是做一些延迟消费,用户支付失败的订单做一个延迟消费(如果20分钟后还没有支付就取消,然后做增加库存操作)。
  8. 目前就用到了这些,如果后期还会用到其他的再来补充。

里面具体的功能不是很多,有单点登录、阿里微信的支付、基于redis操作lua脚本的扣减库存、mq异步做的延迟消费、内部系统的调用,大致就有这些功能,核心就是是做一个建立出行路线(起点和终点),然后设置上价格,让C端用户提前去购买,然后消费,让司机端可以看到,大致就这样一个功能吧。

        今天先总结下单点登录吧。以前也整理过基于redis的登录,然后前段时间也跟之前的老大讨论过,上手起来还好不是很困难。他这里有一点和我上次整的那个(springboot 使用redis 实现token自动存储和设定过期时间_gaohechao的博客-CSDN博客_redis token 过期)不一样的点就是他没有基于redis做用户过期操作,是在redis的值里面做了一个过期时间,将当前时间 + 过期时间(12小时),然后再验证的时候用当前时间去校验,他是这样做的,应该也差不多。主要用到了两个接口,授权验证和授权。

        授权验证:拿app的用户号去用户授权表查询内部用户是否存在,存在的话就用内部用户号、过期时间、签名等参数用jwt生成token,这个jwt我以前也看过感觉和自己写的没啥区别,就是他自己封了一些功能,有获取Token中的信息、有生成签名、验证签名、解码等之类的(就有点类似用 RedisTemplate和RedisUtil差不多,就是可以过去你签名的信息,主要是获取userId),好像也没有啥,可能是自己小白吧,不懂大佬们为啥要用,也可能是为了方便。然后用用户号加字符串占位符做一个key,存到redis中,返回给前端。不存在或者没有授权就走授权接口。

        授权:用app用户号去调用app的实名认证接口,拿到用户信息,判断是不是新用户,如果不是新用户就做update操作填写实名信息。如果是新用户就生成内部用户号存到数据库中(关联上),因为涉及到用户信息,就将数据做了脱敏,然后用一个字段去将脱敏前的数据加密存起来,方便以后在看的时候使用。

        大概就是这样的,验证token是否存在、合法、超时等是用网关去做的。

  • 0
    点赞
  • 0
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论

打赏作者

ghc_2018

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值