注册登录

单点登陆系统

MySQL 和 MongoDB

MongoDB:
	用于海量数据的存储
MySQL:
	用于少量数据的存储

单点登录系统 — 登录 分发JWT令牌

优点:
	1.用户只需要登录一次,就可以访问所有可以相互信任的应用系统 --- 用于登录 统一的认证入口
	2.用户体验好
缺点:
	1本升级会很麻烦
	2.SSO系统压力大
工作流程:
	1.登录
	2.分发JWT令牌 验证 token -- 至少包含用户id,若包含密码等敏感信息会不安全
	3.判断是否有效
	
	首次请求:客户端发起请求--->SSO单点登录系统--->生成token--->返回给客户端
	再次请求:客户端发起请求:请求头携带token--->Server系统请求SSO系统--->SSO系统解密token发送给Server系统

阿里云短信验证服务

注册阿里云账户,保存四个信息用于发送短信验证码:签名 模板code 子用户一对密钥
        用户登录名称 tanhua@1789316296053529.onaliyun.com
        AccessKey ID LTAI5t8WNNCkjcLfu2dN1mTB
        AccessKey Secret lG2LURBMSG2pAy4DjC5K6lqdYSGsHs

注册登录

注册登录流程:
	用户通过手机验证码进行登录,如果是第一次登录,需要注册信息.
	
	用户首次登录需要输入输入手机号+验证码 ---> 单点登陆系统 --> 服务器调用阿里云短信服务接口发送短信 --> 服务器将短信验证码存入redis缓存 --> 用户登录成功后将用户的手机号码记录在数据库中 
	第二次登录,首先查询redis缓存判断验证码是否失效,如果失效提示验证码错误,如果未失效则调用阿里云短信服务发送验证码,如果验证码未空,则验证码发送失败,如果验证码不为空,将验证码存入缓存,对验证码进行校验,如果验证码不相等则返回验证码错误,如果相等在数据库中查询用户手机号码是否存在判断是否为新用户,并删除验证码在redis的缓存,生成token + isNew 发送给前端.

注册登录模块

	项目功能模块比较多,比如说首页的桃花传音,搜附近,测灵魂,圈子模块采用spark+Mllib实现了智能推荐,消
息模块主要实现了聊天,点赞和发布动态功能,能收发消息和语音,视频模块类似于抖音里面的小视频,我的模块主要是查看
个人动态和一些通用设置.
    探花交友采用SSO单点登录系统,该系统的优势在于用户只需要登录一次,就可以访问所有互相信任的应用系统,缺点时
安全性不高,压力大.
	该项目主要采用了SpringBoot+mybatis框架作为系统的主架构,在存储方面,对于一些安全性比较高的数据使用了mysql数据库进行存储,使用MongoDB进行海量数据的存储方案,使用了阿里云短信服务对用户登录进行了验证.
	注册登录流程:首先用户会输入手机号,获取验证码,服务器收到请求,会调用阿里云短信服务发送验证码,验证码发送后用户输入后会判断该验证码是否有效,是否为空,如果redis中每页该验证码,则将验证码存到redis中,设置缓存时间,比较用户输入的验证码,如果不一致返回null验证码错误,验证码校验完毕后删除在redis中的缓存,如果一致则查询数据库判断是否为新用户,如果为新用户则将用户信息存入数据库,下次可以直接登录,对用户的手机号和id进行加密生成token发送给前端.
用户发请求 --> 发送短信验证 --> 生成验证码发送给用户 --> 进行手机号校验 --> sso系统 --> 校验验证码 --> 查询redis --> 验证码不正确给出提示 验证码正确 --> 校验手机号是否为新用户 --> 不是新用户直接生成token 是新用户 将该用户添加到数据库中生成token
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值