【发布时间】:2020-04-21 02:52:14
【问题描述】:
我有 update 和 store 这样的方法
public function update(ContactRequest $request)
{
if (Auth::user()->can('edit_contact'))
$request->update();
else
return $this->accessDenied();
}
public function store(ContactRequest $request)
{
if (Auth::user()->can('add_contact'))
$request->store();
else
return $this->accessDenied();
}
和authorize 在FormRequest 类中
public function authorize()
{
return \Gate::allows('test', $this->route('contact'));
}
我想像这样将权限名称传递给authorize 方法:
public function authorize($permissionName)
{
if (Auth::user()->can($permissionName))
return \Gate::allows('test', $this->route('contact'));
}
在这样的控制器中
public function update(ContactRequest $request)
{
$request->update('edit_contact');
}
public function store(ContactRequest $request)
{
$request->store('add_contact');
}
【问题讨论】:
-
$permissionName来自哪里? -
来自
store和update方法
标签: php laravel laravel-5 laravel-5.8 laravel-authorization