我正在编写“学校俱乐部管理系统”之类的代码,遇到了一些资源权限授权方面的问题。
假设有 club
, club
有 manager ,我想在他可以之前检查用户是否是 club
的经理用中间件管理它。
使用 laravel 5.2
我的 router
看起来像这样:
Route::resource('club', 'ClubController');
我创建的中间件看起来像这样:
public function handle($request, Closure $next)
{
if (!Auth::check()){
// ask user to login
}
$club = Club::findOrFail($request->input('club'));
$user = Auth::user();
if (!$club->managers->contains($user)){
//tell user your are not manager .
}
return $next($request);
}
但是我没能从requests
得到俱乐部的id。
我该如何解决这个问题?
提前致谢。
最佳答案
如果您正在寻找 url 参数,下面是从中间件内的 laravel 5.2 中的资源路由获取该参数的最佳方法。假设您想从 url club/edit/{id}
获取 id 参数$request->route()->parameter('id');
关于php - Laravel中间件获取路由参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35762302/