2015-06-19 101 views
0

我已经使用kodeine Laravel用户角色和权限。安装和所有迁移没有问题。一个困扰我的唯一的事情就是让角色分配:Kodeine角色和权限分配Laravel 5

$user->assignRole($roleAdmin);

我试图创建一个postLoginAuthController里面,但我相信创造这个功能将覆盖Laravel内置的身份验证。我对内置身份验证没有任何问题,我的问题是找到为当前登录用户分配角色和权限的最佳位置。

回答

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'); 
    }); 
}