2012-05-21 46 views
1

我需要知道symfony會話如何在後端工作。symfony會議如何運作後端?

  • 如何通過symfony類更改sessionId?
  • 如何更改sessionId在其他用戶的會話中寫入更改權限給他/她而無需註銷?

我知道用PHP做這件事的經典方式,但是,我問過關於symfony可以處理這個還是沒有?

編輯:

addCredentials,removeCredential,刪除權限,當前用戶會話,但我需要更改其他用戶會話......

例如用戶X,Y

從用戶x我可以用symfony類更改用戶y的會話變量

+0

改變來自不同用戶的會話的要點是什麼?您想做什麼? – j0k

+0

例如:用戶權限在會話變量名爲「Ex:Role_id」我需要用戶X來更改另一個用戶的權限Y ...在同一時間用戶Y看到他的會話變量的變化 –

回答

1
  • 更改sessionId使用sfSessionStorage::regenerate(true);,這將重新生成會話ID
  • 要更改權限,它取決於您將使用的身份驗證系統(也許您將使用sfDoctrineGuardPlugin?)。 Symfony附帶一個基本的sfBasicSecurityUser object女巫提供了更改飛行權限的能力:

// add $credential1 and $credential2 to current user 
    $this->getUser()->addCredentials($credential1, $credential2); 

    // remove credential $credential to current user 
    $this->getUser()->removeCredential($credential); 
+0

addCredentials,removeCredential刪除特權到當前的用戶會話,但我需要更改另一個用戶會話......例如用戶x,用戶x的y可以使用symfony類更改用戶y的會話變量 –