IM 使用 Laravel 7 和 IM 使用入口和策略 我调用了 API 控制器,并且我有Journal_entries_controllerindex functionpublic function index(){ $journal_entries = Journal_entry::with('get_journal_entry_lines')->get(); return response()->json($journal_entries,200);}像这样一切都很好. 为了检查门,我这样做了..public function index(){ $auth = auth('api')->user(); if(!Gate::allows('journal_entries.view',$auth)) return 'not auth'; $journal_entries = Journal_entry::with('get_journal_entry_lines')->get(); return response()->json($journal_entries,200);}像这样,我没有得到身份验证,代码停在那里 如果我 dd($auth) 我会像这样对待登录的用户.public function index(){ $auth = auth('api')->user(); dd($auth);}这里的任何帮助,谢谢..
1 回答
拉风的咖菲猫
TA贡献1995条经验 获得超2个赞
在 if 语句中:
if(!Gate::allows('journal_entries.view',$auth)) return 'not auth';
通过添加我们做出响应来返回,这就是代码返回的原因。Gate::allows
false
!
true
not auth
首先要做的是确保 是 中的门。journal_entries.view
App\Providers\AuthServiceProvider
如果它是一个有效的门,请发布门的内容,以便我们知道预期的功能。
同时,您可能想尝试更改为或if(!Gate::allows('journal_entries.view',$auth))
if(Gate::denies('journal_entries.view',$auth))
if(Gate::allows('journal_entries.view',$auth))
门的文档可以在这里找到 https://laravel.com/docs/7.x/authorization#authorizing-actions-via-gates
- 1 回答
- 0 关注
- 115 浏览
添加回答
举报
0/150
提交
取消