第一个分布式项目总结(3)——单点登录

这篇博客便对此做点单登录系统进行总结。

SSO英文全称Single Sign On,单点登录。SSO是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。它包括可以将这次主要的登录映射到其他应用中用于同一个用户的登录的机制。它是目前比较流行的企业业务整合的解决方案之一。

就比如在我这个系统中,由于各个系统拆分在不同的系统中,Alt
比如选课系统,和登录系统,这俩不在同一个tomcat下,如果使用tomcat内置的session,这可取不到信息,需要配置tomcat集群。用tomcat相互之间session相互广播的方式,配置tomcatSession复制。
如图所示:
在这里插入图片描述
在服务节点较少时候这种方式,没什么问题,但是随着tomcat节点的增多session的广播就会形成session风暴,严重暂用带宽。
解决办法: 可以将session服务单独抽离出来,使用Session服务器,保存Session信息。
session本质上就是一组带有过期时间的键值对数据,这种数据有没有发现和Redis极为相似,所以本项目采用Redis作为Session服务器存储Session。


单点登录系统实现
注册
要登录先注册,和正常系统流程没啥区别。直接上代码

	@Override
	public EasResult register(TbUser user) {
   
		//数据有效性校验
		if (StringUtils.isBlank(user.getUsername()) || StringUtils.isBlank(user.getPassword()) 
				|| StringUtils.isBlank(user.getPhone())) {
   
			return EasResult.build(400, "用户数据不完整,注册失败");
		}
		//1.用户名 2.手机号 3.邮箱
		EasResult result = checkData(user.getUsername(), 1)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值