国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

同域下單點登錄分析 | 單點登錄講解(2)

Eirunye / 2135人閱讀

摘要:本章主要講解的是同域下單點登錄分析。若登錄失敗,則返回原來的登錄頁面,并攜帶原來的,將原始的作為表單的隱藏屬性。若沒有,則證明該可能已經失效或是偽造的,則向客戶端返回空字符串,否則返回查詢到的信息。

本項目主要講解的是單點登錄系統的原理及其實現。

相關代碼github鏈接。

本章主要講解的是同域下單點登錄分析。



同域下SSO分析與設計

流程圖雖然看著復雜,但大家不要被嚇到啦^ _ ^,請大家參照著流程路,聽我下面細細道來~~



詳細流程分析 項目結構

在github的代碼中,我建立了三個項目,分別是服務端SSOServer、客戶端SSOClient、以及兩個集成了客戶端的業務系統app1與aPP2。


SSO流程分析

將SSOServer,app1,app2啟動后,開始SSO流程分析。

1)未登錄訪問業務系統

未登錄訪問業務系統app1的index頁面:請求被客戶端的Filter攔截。

由于沒有token,客戶端Filter控制其進行登錄操作,并將原始的URL作為請求的參數。


2)用戶執行登錄操作

進入服務端的UserLoginServlet進行登錄操作。進入登錄頁時,獲取URL中的參數——原始的origRUL,將其作為request對象的屬性,方便后人獲取,并且跳轉到服務端的登錄頁面。

用戶提交表單,服務端獲取表單中信息后,到數據庫中進行查詢。若登錄失敗,則返回原來的登錄頁面,并攜帶原來的URL,將原始的URL作為表單的隱藏屬性

若登錄成功則:

1.生成token。

2.將token與其對應的user放到全局唯一數據結構中,方便所有人進行獲取。

3.給該用戶設置一個cookie,值為token,用戶在下次訪問的時候就會攜帶此cookie,服務端也就可以通過該cookie對其身份進行驗證。

4.判斷原始URL是否為空,若不為空則跳轉到原始URL頁面,否則跳轉到成功登錄頁面。

在用戶要跳轉到原始URL頁面的時候,被客戶端的Filter攔截,進行有無token的驗證,由于經過登錄操作在cookie中已經生成了token,故Filter發送Http通信請求服務端進行token有效性的驗證,并將token作為請求參數。

服務端的TokenValidateServlet獲取參數中的token后,到全局唯一數據結構中查找有無該token對應的user。若沒有,則證明該token可能已經失效或是偽造的,則向客戶端返回空字符串,否則返回查詢到的user信息。

攔截器接收到服務端的返回信息,若為空字符串則返回原始登錄頁面,并攜帶原始URL,否則通過傳來的用戶信息,對user對象進行還原,方便下個人獲取,攔截操作結束,成功進入了業務系統的index頁面,并將request對象攜帶的user信息顯示出來。


3)業務系統增加自己的攔截器

在通過了客戶端的攔截器之后,業務系統還可以自定義攔截器,從而根據用戶信息獲取與本系統相關的用戶業務信息,或者是對用戶的權限進行進一步的驗證,如:"豬豬"不可訪問index頁面等QAQ。


4)單點退出

服務端從request對象的cookie中獲取token的值,將這個token從全局數據結構中移除,并且將用戶保存有該token的cookie設置為無效的。

關于代碼部分,我將會在下一章節中進行詳細解釋~~~
大家多多關照!^ _ ^


文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/73605.html

相關文章

  • PHP的cookie與session的使用

    摘要:不同域名不同端口不同協議,只要符合其中之一都算跨域請求同域當請求的符合域名端口協議都相同的時候,就是同域請求同域策略是瀏覽器內部實現的一種安全機制。 cookie如何設置?如何獲取? php中向瀏覽器設置 cookie setcookie($key ,$val [,$expire ,$path ,$domain ,$secure]);注意:cookie只可以存字符串類型數據,而且在...

    DTeam 評論0 收藏0
  • 慕課網_《Java實現SSO單登錄》學習總結

    摘要:時間年月日星期三說明本文部分內容均來自慕課網。慕課網教學示例源碼無個人學習源碼第一章概述課程介紹及介紹課程目標認識并理解及其應用,并能根據其實現原理自行實現。 時間:2017年3月22日星期三說明:本文部分內容均來自慕課網。@慕課網:http://www.imooc.com教學示例源碼:無個人學習源碼:https://github.com/zccodere/s... 第一章:概述 1-...

    flyer_dev 評論0 收藏0
  • “山竹”影響出來的多應用單登錄

    摘要:前言山竹影響了我一整夜的睡眠,剛好住在廣東這邊,于是頭腦發昏的我,出了今天的推文,還需指正,請一針見血。兩個應用系統,同域跨域單點登錄實現。 前言 山竹影響了我一整夜的睡眠,剛好住在廣東這邊,于是頭腦發昏的我,出了今天的推文,還需指正,請一針見血。 剛好在了解公司開發平臺的權限,于是畫了張SSO單點登錄的流程圖,起床后寫了篇MYSQL的手記后就開始敲代碼了,終于在3小時后完成了。 兩個...

    xiangzhihong 評論0 收藏0
  • 淺談秒殺系統架構設計

    摘要:動態生成隨機下單頁面的為了避免用戶直接訪問下單需要將動態化,用隨機數作為參數,只能秒殺開始的時候才生成。該文件不被緩存的做法隨機數。淺談秒殺系統架構設計如何只允許,第一個提交的單進入訂單系統。未超過秒殺商品總數,提交到子訂單系統。 秒殺是電子商務網站常見的一種營銷手段。 原則 不要整個系統宕機。 即使系統故障,也不要將錯誤數據展示出來。 盡量保持公平公正。 實現效果 秒殺開始前,...

    maochunguang 評論0 收藏0
  • SSO單登錄原理

    摘要:經紀人給被用于進一步請求的電子身份存取。基于網關基于,安全斷言標記語言的出現大大簡化了,并被批準為的執行標準。 什么是SSO? 單點登錄( Single Sign-On , 簡稱 SSO )是目前比較流行的服務于企業業務整合的解決方案之一 SSO 使得在多個應用系統中,用戶只需要 登錄一次 就可以訪問所有相互信任的應用系統 SSO 主要實現方式 共享 cookies 基于共享同域的...

    curried 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<