【发布时间】:2020-04-20 22:37:39
【问题描述】:
我有update这样的方法
public function update(Contact $contact)
{
$this->authorize('ownItems', $contact);
......
}
和ContactPolicy:
public function ownItem(User $user,Contact $contact)
{
return true;
}
它可以正常工作,但是当我在我的 update 方法中将 Contcact 替换为 ContactRequest 时
给我看看这个:
403 此操作未经授权。
update 方法:
public function update(ContactRequest $contact)
{
$this->authorize('ownItems', $contact);
.......
}
ContactRequest 中的authorize 方法:
public function authorize()
{
return true;
}
【问题讨论】:
-
ContactRequest 是 laravel Request 类不是 Contact 类你需要同时注入
-
我知道这一点,但我的问题是
authorize方法。为什么它告诉我403 -
您在策略中有一个 ownItem 方法,但您在控制器中调用了 ownItems
标签: php laravel laravel-5 laravel-authorization laravel-formrequest