單點登陸設計SSO英文全稱Single Sign On,單點登錄。SSO是在多個應用系統中,用戶只需要登錄一次就可以訪問所有相互信任的應用系統。它包括可以將這次主要的登錄映射到其他應用中用於同一個用戶的登錄的機制。它是目前比較流行的企業業務整合的解決方案之一 現在很多企業級應用都基本會去實現單點登陸 ...
單點登陸設計
SSO英文全稱Single Sign On,單點登錄。SSO是在多個應用系統中,用戶只需要登錄一次就可以訪問所有相互信任的應用系統。它包括可以將這次主要的登錄映射到其他應用中用於同一個用戶的登錄的機制。它是目前比較流行的企業業務整合的解決方案之一
現在很多企業級應用都基本會去實現單點登陸功能,這樣對於用戶體驗上會有不錯的加強。不需要重覆登陸多次。好了廢話少說,我今天主要介紹兩種單點登陸設計。
第一種:最簡單的單點登陸設計,如下圖:
如圖所示:當直接訪問各類業務系統時,在頁面載入時會判斷session是否存在,如果不存在通過(HttpContext.Current.Response.Redirect)URL重定向到單點登陸的sso.ashx頁面。
單點登陸的sso.ashx頁面接收到請求時,獲取單點登陸session的用戶信息,如果session信息丟失,直接跳轉到單點登陸登陸頁面,否則獲取到session登陸信息通過url跳回原來的業務系統頁面
業務系統頁面接收url登陸用戶ID,根據用戶ID獲取許可權,給session賦值,繼續訪問操作業務系統各類頁面。
第二種:單點登陸設計,如圖:
如圖所示:點單登陸系統登陸後會產生一個ticket存入客戶端cookie中。
當訪問業務系統時,判斷業務系統當前用戶session是否丟失,如果丟失利用webService,將ticket傳到點單登陸系統,嘗試獲取登陸用戶信息
獲取到了繼續訪問
未獲取到跳轉到點單登陸系統的登陸頁面