在Symfony2中添加Rol

时间:2012-11-06 15:01:12

标签: php symfony doctrine-orm symfony-2.1

我可以在InteractiveLoginEvent上的symfony2中动态添加Rol吗?或者我可以在roles:中的access_control定义中输入security.yml这样的字符串ROLE_INTRANET_*吗?

1 个答案:

答案 0 :(得分:1)

嗯......您可以在InteractiveLoginEvent上为用户添加角色:

...
public function onSecurityInteractiveLogin(InteractiveLoginEvent $event)
{
    $user = $event->getAuthenticationToken()->getUser();
    $user->addRole('ROLE_INTRANET');
    $event->getAuthenticationToken()->setUser($user);
    ...
}
...

方法addRole应该在用户类中实现。

一个问题:为什么要添加角色?出于什么目的?