建站資訊News

SSO單點登錄的PHP實現方法(Laravel框架)

0
一佰互聯網站建設(www.zjqgqi.live) 發布時間:2019-04-27 10:44:31 瀏覽數: 65

Laravel是一套簡潔、優雅的PHP Web開發框架(PHP Web Framework)。它可以讓你從面條一樣雜亂的代碼中解脫出來;它可以幫你構建一個完美的網絡APP,而且每行代碼都可以簡潔、富于表達力。

簡單說一下我的邏輯,我也不知道我理解sso對不對。

假如三個站點 a.baidu.com b.baidu.com c.baidu.com

a.baidu.com 作為驗證用戶登錄賬戶。

b和c作為客戶端(子系統)。

b和c需要登錄的時候跳轉到a,并且攜帶參數source指明登陸后跳轉的鏈接。

a站點就是普通的登陸方式(校驗用戶密碼),校驗成功后做一些處理。需要生成一個ticket,具體怎么生成都可以,只要安全就可以了。然后存儲到Cache里面。這里有疑問,后面總結。登陸成功后直接跳轉到(url就可以了。

 ``` php private function getTicketUrl()source){(ticket = md5(time()+key); Cache::put()ticket, $user, 120);$url = $source . "?ticket=" . $ticket;return $url;}

假如說a站帶著ticket跳轉到b站(b.baidu.com?ticket=xxxxxxxxxxxxxxxx```)

b站做一個全局的過濾器,接受這個ticket然后請求a站驗證ticket是否為a生成的。

b站過濾器AppHttpMiddlewareCasAuthenticate代碼,這里判斷是否有ticket并發送請求到a站校驗。如果是登陸的,則拿到用戶UID進行登陸。

public function handle($request, Closure $next){$ticket = $request->input("ticket");if ($ticket) {$result = json_decode("http://a.baidu.com" . "/auth/check-ticket?ticket=" . $ticket), true);if ($result["state"] == "SUCCESS") {$request->session()->flush();Auth::loginUsingId($result["result"]["uid"]);return redirect(redirect()->getUrlGenerator()->current());}}return $next($request);} 

邏輯算是完成了,但是有幾個疑問。

1.我這個實現,我自己都不知道是不是對的,這是我根據原理寫出來的。

2.假如b站現在跳轉到c站,由于b站活躍比較頻繁,session一直都在,而a站的緩存時間極有可能已經過期了,此時從b站跳轉到c站,c站跳轉到a站去判斷登陸,結果發現已經失效了,還是得登陸。所以這是有問題的,由于我們業務模塊相關性差,不會隨意跳轉,所以暫不考慮這樣的問題。但這確實是我的一個問題。我沒想清楚。

有關SSO單點登錄的PHP實現方法(Laravel框架),小編就給大家介紹這么多,希望對大家有所幫助!

一佰互聯是全國知名建站品牌服務商,我們有九年網站建設、網站制作、網頁設計、php開發和域名注冊及虛擬主機服務經驗,提供的自助建站服務更是全國有名。近年來還整合團隊優勢自主開發了可視化多用戶”巔云建站系統“3.0平臺版,拖拽排版網站制作設計,輕松實現pc站、手機微網站、小程序、APP一體化全網營銷網站建設 ,已成功的為全國上百家網絡公司提供自助建站平臺搭建服務。

上一篇:Zend Framework教程之Zend_Db_Table表關聯實例詳解
下一篇: Zend Framework開發入門經典教程
[返回新聞列表]

相關新聞more

25
12月
高端企業建站想要求發展 不同風格選擇是關鍵

182019-02 高端企業建站想要求發展 不同風格選擇是關鍵 現在企業建站可以說是成為一種非常流行... >>詳情

25
04月
php json轉換相關知識(小結)

最近在查找一個bug的時候,發現前端傳過來的json空對象 {} ,被php轉換成了空數組 [] 存到了數據庫里面, 讀取并返回給前端的時候... >>詳情

05
04月
網站建設的費用是多少?

網站建設的費用問題是個大問題,很多人第一次找人做網站,對于網站建設的行情不熟悉,稍有大意,很容易被騙。網站建設行業就如同裝修行業一樣,... >>詳情

26
03月
頭條號運營的一些心得(一個月通過原創審核,粉

簡介:頭條小新手的一些心得,希望前輩們賜教。我寫這篇文章,主要是想給新手朋友一些頭條號運營的建議。不要說我的閱讀量,這個賬號是寫考試相關的文... >>詳情

高端網站建設

美工兼顧SEO,為企業電子商務營銷助力!

電話:

023-85725751
建站

產品

域名注冊 虛擬主機 云服務器 企業郵局
智能建站 APP打包 微站/小程序 創業平臺
網站推廣 媒體營銷 智能采集 AI機器人
400電話 短信營銷 店銷機器人
私人定制 門戶網站
qq游戏大厅