Authorization Laravel 5-授权

Authorization Laravel 5-授权,authorization,laravel-5,middleware,Authorization,Laravel 5,Middleware,我有一个Laravel 5应用程序,需要使用中间件实现授权。我已使用“委托”()进行授权 我的问题是,如何在中间件的handle方法中授权每个请求(用户/索引、用户/创建、用户/存储等) 我可以检查Auth::user()->can('create-user'),但需要动态检查每个请求。以下是我对此类中间件的实现: class Authenticate { public function __construct() {} /** * Handle an incomi

我有一个Laravel 5应用程序,需要使用中间件实现授权。我已使用“委托”()进行授权

我的问题是,如何在中间件的handle方法中授权每个请求(用户/索引、用户/创建、用户/存储等)


我可以检查Auth::user()->can('create-user'),但需要动态检查每个请求。

以下是我对此类中间件的实现:

class Authenticate {

    public function __construct() {}

    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        $token = \Request::header('x-auth-token');

        // common login functionality
        if ($token) {
            $authtoken = \App\Models\Authtoken::find($token);
            if ($authtoken) {
                \Auth::loginUsingId($authtoken->user_id);
            }
        }

        return $next($request);
    }
}

Authtoken是
authtokens
表上的雄辩模型。当然,您可以通过其他方式检索用户id。

感谢您的回复,但我真正想做的是检查用户是否可以执行给定任务(是否可以更新用户)。我已在表中按用户角色存储权限。使用“委托”,我可以检查Auth::user()->can('update-user')。但是我如何动态地识别每个请求并根据权限进行检查,这与我提供的代码类似。您需要从请求中获取当前路由,并检查您需要的任何内容。如果用户没有足够的权限,您将返回一些带有错误的json,而不是
return$next($request)