java 实现a系统到b系统的跳转_A-B系统快捷的登陆的验证设计

用户X在A系统浏览器端请求接口1要求登陆到系统B,A系统检测到用户X还没有登陆到B系统的认证密钥R,于是A系统产生 TOKEN 1,让用户X的浏览器跳转页面到B系统登陆绑定接口,B系统在后台使用该TOKEN 1 直接跟 系统A 进行确认验证TOKEN 1是不是A系统合法的TOKEN。如果是则A系统会告知B系统此TOKEN对应的A系统用户名X和认证密钥(如没有则为空)。

B系统在验证TOKEN 1合法之后,检查A系统返回的用户名X和认证密钥R是否存在、是否和自己存储的密钥一致,如果一致则取出里面B系统已被绑定的用户信息,调用SecurityUtils.getSubject().login(username, password)进行登录,并且跳转到b/home.jsp!

B系统检测如果TOKEN1合法,且A系统返回的用户名X和认证密钥不存在,那么则让用户X浏览器跳转到登录绑定页面,验证用户X在B系统的用户名密码和其他必要的信息。

在用户X绑定到B系统的过程中,B系统首先要验证用户输入的B系统的用户信息的正确性,验证通过之后,则在后台调用A系统,将TOKEN1和新产生的TOKEN2、A系统用户名、B系统用户名返回给A系统。

A系统对TOKEN1和A系统用户名进行校验,正确之后则存储TOKEN2(替换1)和B系统用户名,TOKEN1不合法则返回认证失败给B系统,B系统通知用户认证失败。

下次用户X再通过A系统请求快捷进入B系统时,A系统将使用TOKEN2和B系统做认证用户X,用户X可以快捷的登陆到B系统。

这种办法是服务器之间双向认证证明是自己人,用户无法抵赖,两个系统之间不需要交换用户的密码,可以支持用户一对一的任意绑定。

如果只是部署一套,则上面的流程允许A系统用户快捷登陆到B系统,而B系统用户则无法快捷的登陆A系统。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值