如何根据角色laravel 5.1重定向用户

时间:2015-10-26 10:36:55

标签: php laravel-5.1

你好我们正在使用laravel 5.1,我有重定向用户路径的问题。我有一个角色表,一个用户表和role_user表意味着数据透视表。每件事都很好但我没有重定向不同用户的页面。 。这是我的用户模型。我还没有创建任何中间件

public function roles()
{
    return $this->belongsToMany('my\role');
}


public function hasRole($role) 
{
    if (is_string($role)){

        return $this->roles->contains('name', $role);
    }

    return !! $role->intersect($this->roles)->count();
}

这是我的AuthController

public function redirectPath()
{
    // Logic that determines where to send the user
    if (\Auth::user()->hasRole('GlobalAdmin', 'SuperAdmin', 'CompanyAdmin', 'GroupAdmin'))
    {
        return '/adminpanel';
    }

    return '/dashboard';
}

当我以角色globleadmin登录时,它工作正常并重定向到adminpanel但是当我作为另一个分配的角色登录时,它会重定向到仪表板。我没有得到它或许我在AuthController中传递了参数:

 if (\Auth::user()->hasRole('GlobalAdmin', 'SuperAdmin', 'CompanyAdmin', 'GroupAdmin')) 

不正确。请帮帮我。

这是我的路线:

Route::get('/adminpanel', 'Admin\adminscontroller@index');

这是我的adminscontroller:

class adminscontroller extends Controller
{

    public function __construct()
    {
        $this->middleware('auth');
    }

    /**
    * Display a listing of the resource.
    *
    * @return \Illuminate\Http\Response
    */
    public function index()
    {
        return view('Admin.AdminPanel');
    }
}

提前致谢。

0 个答案:

没有答案