2013-08-03 147 views
0

在工作中,有幾個不同的網站,他們都獲得了網站的網(Intranet)上,例如:集中化登錄系統

http://192.168.1.50 (Sales Panel) 
http://192.168.1.52 (Other Panel) 
http://192.168.1.53 (And different project) 

我要創建每個網站上的一個新的帳戶,它使用起來有點痛苦。

然後我想爲什麼不創建一個集中登錄系統,這樣每個網站就可以從集中登錄系統創建和檢查登錄帳戶。

例如,UserA必須登錄到http://192.168.1.52http://192.168.1.50http://192.168.1.53但不是(無需餅乾,$ _SESSION是罰款)的能力。

在集中登錄系統發送請求和響應時應如何實現?

我是否應該使用HTTP GET作爲請求並回復帶有多個屬性的JSON對象?例如

connect_status - "SUCCESS" - check was successful, "FAIL" - check was unsuccessful) 
connect_id - UserId 
connect_username - the username 

如果用戶成功登錄並且用戶刷新頁面 - 是否應通過集中登錄系統重新檢查登錄或會話?

回答

1

在集中登錄系統發送請求和響應時應如何實現?

這完全取決於你。請記住,已經有很多系統設計用於非常相似的場景。你的使用情況非常類似,可以通過kerberosradius,甚至ldap提供的東西(如果你有一個現有的AD)服務器。如果您有任何那些你已經左右,它可能更容易對它們進行查詢,而不是寫自己的解決方案。

如果你想要自己的,JSON響應和其他任何一樣。只要確保您驗證回覆是有效的。

我應該使用HTTP GET請求並回復一個帶有多個屬性的JSON對象嗎?

聽起來很典型。

如果用戶成功登錄並且用戶刷新頁面 - 是否應通過集中登錄系統重新檢查登錄或會話?

這取決於您的後端技術以及您希望使票證失效的速度有多快。你還好嗎具有無認證接入有人更改密碼,或禁用該帳戶後幾個小時?你可以推到認證令牌/會話文件從驗證控制器到應用服務器無效的請求?您總共從所有應用程序獲得每秒請求多少個請求,並且您是否可以在一個地方處理所有身份驗證請求?

回答其中一些問題,您應該瞭解如何處理重新檢查/令牌緩存/失效。另外,如果您可以/想要將某些身份驗證處理推送給客戶端,請參閱oauth這樣的協議。