建構一個第三方登入平台
已存在電商網站兩個、資訊類網站一個、內部系統三個,每個系統都有自己的使用者表。
1.現在我要做一個統一登入點,提供登入功能,該如何設計登入表,登入表的使用者與其他系統的使用者怎麼關聯,我要實現在電商類的使用者有個唯一標識,資訊類的用戶也有自己的一個唯一識別。
2.每個登入使用者都有自己角色,例如,電商角色就有管理訂單,開新店舖的等等權限,權限這塊怎麼設計?
3.第三方登入的那種形式該如何做?
回覆內容:
已存在電商網站兩個、資訊類網站一個、內部系統三個,每個系統都有自己的使用者表。
1.現在我要做一個統一登入點,提供登入功能,該如何設計登入表,登入表的使用者與其他系統的使用者怎麼關聯,我要實現在電商類的使用者有個唯一標識,資訊類的用戶也有自己的一個唯一識別。
2.每個登入使用者都有自己角色,例如,電商角色就有管理訂單,開新店舖的等等權限,權限這塊怎麼設計?
3.第三方登入的那種形式該如何做?
權限問題由每個系統內部自行解決,怎麼設計隨便搜一下就好,也可以參考成熟框架的ACL設計。
認證中心至少需要:
1- 認證中心登入時使用者可以選擇自己的登入帳號類型,如電商、資訊、內部,登入後可以綁定其它系統中的帳號。
2- 電商、資訊、內部系統都要提供認證API供認證中心
3- 認證中心需要允許用戶merge自己關聯帳號的資料
4- 第三方認證提供token認證及用戶基本資訊讀取的API
沒法兒詳細回答你,更多的內容只能自己根據需求和現有系統的情況酌情處理了。
兩種方法:
1.自己做單一登入(SSO),提供統一的登入接口,注意cookies的網域名稱。
2.用現成的OAuth方案,也就是第三方登錄,相對成熟且使用方便。
補充:看到你用的是Laravel,Laravel應該是有SSO擴充包的,如果是我的話,我直接在路由裡面定義好這些二級域名,所以是不需要SSO的,Laravel有OAuth-Server擴展包。
我看你的問題是關於php的,建議看看這些資料
https://github.com/bshaffer/o...
http://bshaffer.github.io/oau...

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

MySQL和MariaDB的主要區別在於性能、功能和許可證:1.MySQL由Oracle開發,MariaDB是其分支。 2.MariaDB在高負載環境中性能可能更好。 3.MariaDB提供了更多的存儲引擎和功能。 4.MySQL採用雙重許可證,MariaDB完全開源。選擇時應考慮現有基礎設施、性能需求、功能需求和許可證成本。

最新版本的Laravel10與MySQL5.7及以上、PostgreSQL9.6及以上、SQLite3.8.8及以上、SQLServer2017及以上兼容。這些版本選擇是因為它們支持Laravel的ORM功能,如MySQL5.7的JSON數據類型,提升了查詢和存儲效率。

AI可以幫助優化Composer的使用,具體方法包括:1.依賴管理優化:AI分析依賴關係,建議最佳版本組合,減少衝突。 2.自動化代碼生成:AI生成符合最佳實踐的composer.json文件。 3.代碼質量提升:AI檢測潛在問題,提供優化建議,提高代碼質量。這些方法通過機器學習和自然語言處理技術實現,幫助開發者提高效率和代碼質量。

會話通過服務器端的狀態管理機制實現用戶認證。 1)會話創建並生成唯一ID,2)ID通過cookies傳遞,3)服務器存儲並通過ID訪問會話數據,4)實現用戶認證和狀態管理,提升應用安全性和用戶體驗。

要安全、徹底地卸載MySQL並清理所有殘留文件,需遵循以下步驟:1.停止MySQL服務;2.卸載MySQL軟件包;3.清理配置文件和數據目錄;4.驗證卸載是否徹底。

MySQL批量插入数据的高效方法包括:1.使用INSERTINTO...VALUES语法,2.利用LOADDATAINFILE命令,3.使用事务处理,4.调整批量大小,5.禁用索引,6.使用INSERTIGNORE或INSERT...ONDUPLICATEKEYUPDATE,这些方法能显著提升数据库操作效率。

Laravel和Yii的主要區別在於設計理念、功能特性和使用場景。 1.Laravel注重開發的簡潔和愉悅,提供豐富的功能如EloquentORM和Artisan工具,適合快速開發和初學者。 2.Yii強調性能和效率,適用於高負載應用,提供高效的ActiveRecord和緩存系統,但學習曲線較陡。

HTML5帶來了五個關鍵改進:1.語義化標籤提升了代碼清晰度和SEO效果;2.多媒體支持簡化了視頻和音頻嵌入;3.表單增強簡化了驗證;4.離線與本地存儲提高了用戶體驗;5.畫布與圖形功能增強了網頁的可視化效果。
