symfony会话如何在后端工作


How symfony session worked backend?

我需要知道symfony会话在后端是如何工作的。

  • 如何通过symfony类更改sessionId?
  • 如何更改会话
  • ID以写入其他用户的会话,例如在不注销的情况下更改他/她的权限?

我知道用PHP做到这一点的经典方法,但是,我问symfony可以处理这个还是不能?

编辑:

addCredentials,removeCredential,删除当前用户会话的权限,但我需要更改另一个用户会话...

例如用户 x,y

从用户x我可以用symfony类更改用户y的会话变量吗

  • 要更改会话 ID 使用sfSessionStorage::regenerate(true);,这将重新生成会话 ID
  • 要更改权限,这取决于您将使用的身份验证系统(也许您将使用 sfDoctrineGuardPlugin?(。Symfony附带了一个基本的sfBasicSecurityUser对象女巫提供了即时更改权限的能力:

.

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