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

拉拉维尔 API 门检查

拉拉维尔 API 门检查

PHP
一只甜甜圈 2023-10-22 20:54:35
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::allowsfalse!truenot auth

首先要做的是确保 是 中的门。journal_entries.viewApp\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


查看完整回答
反对 回复 2023-10-22
  • 1 回答
  • 0 关注
  • 115 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信