2012-04-12 71 views
16

我對Symfony2中的security concept有基本的瞭解。現在我正在嘗試爲多域網站實施單點登錄功能。實現Symfony2單點登錄

的SSO概念本身是相當簡單:

  • 域A是Cookie域;人們可以登錄該域
  • 當在域B上登錄時,用戶被重定向到域A,其中請求One-time password。用戶需要域A上的會話才能獲取此密碼。
  • 獲得OTP後,用戶返回到域B,該域將與OTP到域A上的會話相匹配。
  • 如果匹配,將爲域B創建一個會話。會話將根據從這一點開始,每個後續請求都會在域A上進行會話。

實現域A的防火牆/認證可以照常進行。在我的理解,我需要:

  • 設立域B
  • 防火牆建立這個防火牆的偵聽器,以某種方式將用戶重定向到域A(更具體:請求的OTP的URI)
  • 創建authentication provider一個處理一個OTP,並創建域B
  • 會話創建另一個監聽器,檢查對域的會話的會話效度

但是我可以真的使用一些關於如何在捆綁中做到這一點的提示。如果有人能幫助我,那會很棒。

另外,我還不確定如何實現OTP,或者如何比較兩個會話,並確保它們都是有效的。那會晚一些,我需要先讓這個工作流程工作。

+0

這聽起來像一個偉大的包,如果你能得到它去:-) – richsage 2012-04-13 07:47:49

+1

@richsage看到我自己的回答:) – 2012-04-23 10:40:50

回答