首页 > 解决方案 > 如何使用 Gate::authorize 检查控制器中的门?

问题描述

我在身份验证服务提供者引导方法中定义了一个门,如下所示:

Gate::define('test', function (User $user) {
        return false;
});

对于这个例子,它不允许任何东西通过。

在我的控制器索引方法中,我有:

Gate::authorize('test');

然而,什么也没有发生。我试过这个例子:

if (! Gate::allows('test')) {
        abort(403);
    }

上面的示例在 403 响应下按预期工作,但我认为Gate::authorize('test')它是一个辅助方法,它做的事情几乎相同?为什么它不起作用?

标签: laravel

解决方案


推荐阅读