我正在编写像“学校俱乐部管理系统”这样的东西,并在资源的权利授权上遇到一些问题.
假设有俱乐部,俱乐部有经理,我想在用中间件管理之前检查用户是否是俱乐部的经理.
使用laravel 5.2
我的路由器看起来像这样:
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);
}
但我没有从请求中得到俱乐部的身份.
我该如何解决这个问题?
提前致谢 .
解决方法:
如果您正在寻找url参数,那么从中间件中的laravel 5.2中的资源路径获取该参数的最佳方法如下所示.假设您想获取id参数表单url club / edit / {id}
$request->route()->parameter('id');
标签:php,laravel
来源: https://codeday.me/bug/20190528/1167509.html