如何在Laravel 5.4中允许基于角色的登录?

时间:2017-06-06 13:19:13

标签: php laravel laravel-5

使用下面的功能,我可以添加活动标志,这样只有那些活跃的用户才能登录。

现在我有另一个名为 role 的标志,我希望只允许角色为1或2的用户登录。

public function credentials(Request $request)
{
    return [
        'email' => $request->email,
        'password' => $request->password,
        'active' => 1,
    ];
}

1 个答案:

答案 0 :(得分:0)

您可以使用middleware

<?php

namespace App\Http\Middleware;

use Closure;

class CheckRole
{
    /**
     * Handle the incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @param  string  $role
     * @return mixed
     */
    public function handle($request, Closure $next, $role)
    {
        if (! $request->user()->hasRole($role)) {
            // Redirect...
        }

        return $next($request);
    }

}