为了账号安全,请及时绑定邮箱和手机立即绑定

Laravel 5.8 403 此操作未经授权

Laravel 5.8 403 此操作未经授权

PHP
隔江千里 2022-07-09 16:40:14
我有这样的update方法  public function update(Contact  $contact){    $this->authorize('ownItems', $contact);    ......}和ContactPolicy:public function ownItem(User $user,Contact $contact){  return true;} 它工作正常,但是当我在我的方法中替换为时Contcact向我显示:ContactRequestupdate403 此操作未经授权。update方法 :public function update(ContactRequest  $contact){    $this->authorize('ownItems', $contact);    .......}authorizeContactRequest 中的方法:public function authorize(){    return true;}
查看完整描述

2 回答

?
森林海

TA贡献2011条经验 获得超2个赞

ContactRequest是一个 laravelRequest类实例



public function update(ContactRequest $request,Contact  $contact)

{

    $this->authorize('ownItems', $contact);

    .......

}


查看完整回答
反对 回复 2022-07-09
?
互换的青春

TA贡献1797条经验 获得超6个赞

您在 中拼错了方法名称$this->authorize('ownItems', $contact);,它应该是“ownItem”

UPD

ContactRequest如果您的请求中没有模型标识符,则可能是方法的实例,Illuminate\Http\Requestauthorize方法正在等待。Model首先你应该找到模型:$model = Contact::find($contact->input('id'))然后检查你的政策$this->authorize('ownItems', $model)


查看完整回答
反对 回复 2022-07-09
  • 2 回答
  • 0 关注
  • 173 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号