Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 拉威尔api闸门检查_Php_Laravel_Authentication - Fatal编程技术网

Php 拉威尔api闸门检查

Php 拉威尔api闸门检查,php,laravel,authentication,Php,Laravel,Authentication,我用的是拉威尔7 我在使用闸门和策略 我有一个名为Journal\u entries\u controller的api控制器 我有索引功能 public function index() { $journal_entries = Journal_entry::with('get_journal_entry_lines')->get(); return response()->json($journal_entries,200); } 就像这样一切都很顺利。。 为了检

我用的是拉威尔7 我在使用闸门和策略 我有一个名为
Journal\u entries\u controller的api控制器
我有
索引功能

public 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);
}
这里的任何帮助都将感谢。

在if声明中:

if(!Gate::allows('journal_entries.view',$auth))
    return 'not auth';
Gate::allows
通过添加
返回
false
我们使响应
为真
,这就是
未验证
代码返回的原因

要做的第一件事是确保
journal\u条目。view
App\Providers\AuthServiceProvider
中的一个门

如果它是一个有效的门,请张贴门的内容,以便我们知道预期的功能

与此同时,你可能想尝试改变
if(!Gate::allows('journal\u entries.view',$auth))
if(Gate::denies('journal\u entries.view',$auth))
if(Gate::allows('journal_entries.view',$auth))


gates的文档可以在这里找到

到底是什么问题?gate函数现在在api控制器中与meOk一起工作,您是否遇到错误?您可以共享任何日志文件吗?我得到的是返回not AUTH授权系统已使用当前已验证的用户(第一个参数传递给您定义的任何门),但您定义的“门”在做什么?