关于FOSUser Role的东西

本文介绍了如何使用FOSUserBundle进行用户角色管理,包括如何通过命令行将用户提升为管理员角色,以及如何通过监听fos_user.registration.initialize或fos_user.registration.success事件来创建不同角色类型的用户。

By default, created user has role ROLE_USER which is saved in DB like empty array converted to JSON a:0:{}. In FOSUserBundle exists some helpful Command Line Tools. You should use Promote a User for set user ROLE_ADMIN like this:

$ php app/console fos:user:promote username ROLE_ADMIN

After that your username user will have access to admin panel where you can promote other users manually.

To create users with diferent ROLE types you should write event listener for fos_user.registration.initialize (or even fos_user.registration.success) event, like this:

class RegistrationListener
{
    public function setUserRole(UserEvent $event)
    {
        $request = $event->getRequest();
        if (/* some conditions */) {
            $user = $event->getUser();
            $user->addRole('ROLE_STH');
        }
    }
}

Please be careful with using this listener for setting ROLE_ADMIN. Promote a User command is intended to add role like ROLE_ADMIN.

转载于:https://my.oschina.net/imot/blog/221913

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值