”, Post :: class => PostPolicy ::类,]。
在里面 调节器 </跨度> 我用 政策 </跨度> 像这样:
$这 - &GT;授权( ‘观看’);
我收到错误无论函数view()返回true还是false,此操作都是未经授权的。 在laravel 5.5中我创造了 政策 </跨度>
公共功能视图(){ 返回true;}
并在AuthServiceProvider中注册它
受保护的$ policies = [ //‘App \ Model’=&gt; ’App \ Policies \ ModelPolicy锟
您的政策已在Post模型中注册。
我假设你的 view() 方法在PostPolicy类中。看起来好像你想在没有模型实例的情况下使用它。
view()
使用 $this->authorize('view', Post:class); 如果策略代码不需要模型实例。
$this->authorize('view', Post:class);
您的视图方法还应该接收用户模型。
public function view(User $user) { ... };
否则,您要为谁检查权限。