Laravel 5的Kodeine角色和权限分配

时间:2015-06-19 17:47:21

标签: authentication laravel

我已将kodeine用于Laravel用户角色和权限。安装和所有迁移都没问题。让我烦恼的唯一问题是在哪里进行角色分配:

$user->assignRole($roleAdmin);

我尝试在postLogin内创建AuthController,但我相信创建此功能会覆盖Laravel内置的身份验证。我对内置身份验证没有任何问题,我的问题是找到为当前登录用户分配角色和权限的最佳位置。

1 个答案:

答案 0 :(得分:0)

您可以通过添加事件处理程序(或5.1中的“侦听器”)来实现。对用户进行身份验证后,将触发auth.login事件。在EventServiceProvider::boot()或自定义侦听器类中为该事件添加侦听器。

请参阅:login event handling in laravel 5

编辑:如果您只想在创建用户而不是每次登录时添加权限,那么您想要的事件就是App\User::created,就像在app/Providers/EventServiceProvider.php中一样:

public function boot(DispatcherContract $events)
{
    parent::boot($events);

    // after a user is created, see if we can attach a school to them
    \App\User::created(function($user)
    {
        $user->assignRole('admin');
    });
}