2010-09-14 121 views
0

在用戶在另一個應用程序(如oAuth或自定義安全實現)上進行身份驗證的情況下,我們如何模擬登錄?模擬登錄/登錄使用Symfony/sfDoctrineGuardPlugin

我們打算實現的是: - 使用用戶標識鍵檢查該用戶是否存在 - 如果用戶存在,設置用戶 會話 - 基本上,設置屬性持有者 - 分配用戶對象,以便它通過getUser()方法可用 因此,我們正在尋求以編程方式登錄!

任何光線如何以最簡單的方式做到這一點?使用sfDoctrineGuardPlugin

+0

您是否正在嘗試創建單一登錄系統?如果是,請搜索Google搜索SSO symfony。 – greg0ire 2010-09-14 16:25:21

+0

是的,有點,但更多的是向oAuth,而不是LDAP或NTLM。但更符合旁路衛士插件... – Prasad 2010-09-14 17:03:45

回答

1

如果,我會做一些事情,如:

  1. 重定向用戶第3部分的Oauth提供商
  2. 成功時,用戶返回到您,請創建這些新sfGuardUser對象,或檢索(您可能需要調整架構以在某處存儲額外的oAuth數據)。
  3. 調用myUser() - > signIn($ user),其中$ user在之前檢索到的sfGuardUser對象中 - 例如:我在註冊操作中使用此註冊操作來註冊人後:$ this-> getUser() - > signin ($用戶);
+0

很酷..迫不及待地嘗試這個!我希望signin方法在基類中實現!會讓你知道..謝謝一噸! – Prasad 2010-09-15 17:16:00