Authorization Laravel 5-授权
我有一个Laravel 5应用程序,需要使用中间件实现授权。我已使用“委托”()进行授权 我的问题是,如何在中间件的handle方法中授权每个请求(用户/索引、用户/创建、用户/存储等)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
我可以检查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)