完成單點登錄,我們便可以通過只登錄一個賬號,來訪問不同系統,然而會遇到以下問題.
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.數據可配置性