1

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

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

我知道用 PHP 做这件事的经典方法,但是,我问 symfony 是否可以处理这个问题?

编辑:

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

例如用户 x,y

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

4

1 回答 1

1
  • 更改 sessionId 使用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);
于 2012-05-21T15:20:13.237 回答