2010-08-03 41 views
1

我的工作有兩個應用共享Symfony和WordPress的會議

1)基於WordPress的CRM(前端) 2)基於Symfony的B2C應用程序中創建

Symfony的應用和做工精細的解決方案。當我們登錄到基於symfony的應用程序時,頂層菜單會隨着人員登錄而改變。登錄更改註銷等

事情是我們需要在基於Wordpress的CRM上有相同的菜單,當有人登錄到基於symfony的應用程序時,也應該更新這個菜單。

讓我知道你是否有任何經驗或建議。

回答

2

WordPress通過功能wp_validate_auth_cookie可讓您控制cookie驗證。幸運的是,這個函數是「可插入的」,所以你可以重寫它。

確保WordPress的可以看到symfony中的cookie(它們必須在同一個域),然後讓該函數做這樣的事情:

session_name('symfony'); 

session_start(); 

這會給你訪問的symfony的$_SESSION

的user_id是,默認情況下,$_SESSION['symfony/user/sfUser/attributes']['sfGuardSecurityUser']['user_id']

如果您使用sfGuard或sfDoctrineGuard。

該功能預計將返回一個WordPress的用戶ID,但是從該點的可能性,並在多個(也有很多其他的功能,這些功能「可插拔的」。

+0

感謝黑頭,這正是所需要的東西。 session_name('symfony'); session_start(); print_r($ _ SESSION); – Sadi 2010-08-13 09:14:04

0

我有一個類似的問題在幾個月這個帖子是here。它說Symfony 1.2,但我現在使用1.4,它工作正常。

頂部答案中的說明涉及創建一個單獨的控制器的wordpress,它讓wordpress運行在Symfony內。你可以使用wordpress輸出上方的菜單創建一個wordpress模板,它還可以讓你訪問wordpress中的Symfony上下文,這樣你就可以覆蓋wordpress aut驗證函數使用Symfony的身份驗證。