SSO系统

SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统,注册和登录都是一个单独的系统。

传统登陆模式:

判断用户是否登录:判断session中是否有用户信息,通常使用拦截器来处理。
集群:多台服务器提供相同服务;
建立集群:Session复制,
集群中的节点最多不能超过5个,并发量多了要采用分布式;
Session服务器:Session的统一管理

单点登录主要解决了Session共享的问题;

认证:检查数据是否可用
传递参数(用户名,手机号,邮箱唯一),类型(1/2/3)
如果数据库中存在该数据,该注册数据不可用,不存在的话该数据可以使用。
/{param}/{type}:URL传参,后台接收要用@PathVariable注解。
注册:先验证用户名、手机号和邮箱是否为空,然后认证用户信息是否重复,之后对密码进行Bcrypt加密,之后插入数据。
登录:先校验用户名是否存在,再校验密码是否正确,然后使用UUID生成token,把密码清空,将token作为key,用户信息作为value放入到redis中并
设置Sessio的有效时间,然后将token放入到cookie中。
再次登录:先从Cookie中取token,调用接口通过token去redis中查询是否存在用户信息,查不到说明用户登录已经过期返回登录页面,存在重新设置
过期时间,返回用户已经登录然后进入到首页。
安全退出:通过token去删除redis中的用户信息,并把过期时间设置为0.
解决js的跨域问题可以使用jsonp。
JsonUtils.objectToJson():对象转JSON
JsonUtils.jsonToPojo():JSON转对象

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值