茄子在线看片免费人成视频,午夜福利精品a在线观看,国产高清自产拍在线观看,久久综合久久狠狠综合

    <s id="ddbnn"></s>
  • <sub id="ddbnn"><ol id="ddbnn"></ol></sub>

  • <legend id="ddbnn"></legend><s id="ddbnn"></s>

    SSO單點登錄的PHP實現(xiàn)方法(Laravel框架)
    來源:易賢網 閱讀:3078 次 日期:2016-08-31 16:13:56
    溫馨提示:易賢網小編為您整理了“SSO單點登錄的PHP實現(xiàn)方法(Laravel框架)”,方便廣大網友查閱!

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

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

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

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

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

    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站過濾器App\Http\Middleware\CasAuthenticate代碼,這里判斷是否有ticket并發(fā)送請求到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.我這個實現(xiàn),我自己都不知道是不是對的,這是我根據原理寫出來的。

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

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

    更多信息請查看網絡編程

    2026國考·省考課程試聽報名

    • 報班類型
    • 姓名
    • 手機號
    • 驗證碼
    關于我們 | 聯(lián)系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
    工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
    聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
    咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網