我刚开始使用 Symfony 的 ACL 系统,想知道为什么要UserSecurityIdentity
使用User 对象username
而不是id
User 对象来确定它的身份?
$user = new User();
$user->setId(new \MongoId());
$user->setUsername("frodo");
$dm->persist($user);
$uid = UserSecurityIdentity::fromAccount($user); // uses "frodo"
我们的系统允许用户更改他们的用户名,因此使用更永久的东西(如 ID)来确定用户的身份对我来说似乎更合适。为什么 ACL 系统实施为使用用户名而不是 ID?这里有任何安全考虑吗?