Laravel:Gate ::拒绝不工作

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Laravel:Gate ::拒绝不工作相关的知识,希望对你有一定的参考价值。

所以我想尝试使用Laravel Authorization。对于here我做了以下:

  • Laravel更新为* .1.19
  • 创建策略目录
  • 在app.php中定义的Facade

我创建了一个策略并在其中放入以下代码:

//Allow users of type 'users`    
public function view(User $user)
        {
            dd('he was here'); // Not coming here
            return $user->user_type === 'user';
        }

在控制器中我做了:

if (Gate::denies('view')) {
            dd('Sorry Bud not allowed');
        }

事情是,它总是进入块'Sorry Bud not allowed'

我错过了一些步骤还是别的什么?

答案

用Gate检查2件事

第一:确保您的政策已注册。

第二:如果你在config.auth中设置了自定义Guard,那么在你的控制器中添加以下行。

config(['auth.defaults.guard','YOUR-CUSTOM-GUARD-NAME']);

谢谢Mage2 Ecommerce

另一答案

您可能需要注册策略,请参阅文档http://laravel.com/docs/5.1/authorization#policies中的“注册策略”部分

另一答案

您还需要将AppProvidersAuthServiceProvider::class,添加到config / app.php中的providers数组中。

另一答案

这只是因为您没有登录到您的项目以了解用户。所以首先登录你的项目然后这个代码是有效的。

以上是关于Laravel:Gate ::拒绝不工作的主要内容,如果未能解决你的问题,请参考以下文章

“aaaaa”存储库的拉取访问被拒绝不存在或可能需要“docker login”

最高月薪16K,考编失败转行测试的他说:努力,是为了有底气拒绝不喜欢的人生

Laravel gate错误,没有这样的表:权限(SQL:select * from“permissions”)

Laravel 8 Gate 基于数据库工匠迁移错误中的级别

Laravel 8:找不到类'App\Policies\Gate'

laravel权限控制Gate