SSO单点登录之数据同步

完成单点登录,我们便可以通过只登录一个账号,来访问不同系统,然而会遇到以下问题.

1. 通过A站登录的用户访问B站,在B站并没有真实用户,此时如果在B站新建用户,则可能造成用户信息不全,或者数据冲突等问题.

2.AB两站的用户数据如果属于同一用户,如何处理?

数据同步,解决方案.

在主站新建一张表,用来同步管理子站用户信息,流程如下

1.用户登录A站,当A站访问主站S的时候,主站会将A的信息,插入到表里面(如果不存在),记录用户的ID,此时用户如果再访问B站,主站先查询B站是否有关联,如果没有,则直接重定向到B站的关联页,用户可以选择关联一个已有的B站点账号,也可以新建一个账号关联,如果是已经存在关联的,则直接返回关联用户id,此时B站点再读取用户权限.

2.密码统一管理,这里分2种情况,如果每个子站都能拿到最高管理权限,当用户在A站点上修改密码成功,则其它子站密码统一修改,A站修改成功,访问主站API,主站验证后,再调用其它站点修改密码的API即可.如果无法拿到最高管理权限,或者子站不提供api,则只能修改当前子站的密码而无法统一修改其它子站.

流程比较简单,这里说明几个要注意的地方

1.数据安全性,重定向不要使用明文

2.数据可配置性

原文地址:https://www.cnblogs.com/tibos/p/5355717.html