Telescope 在生产环境配置的权限,还是弹出 403 页面

原来是从Laravel5.3版本 一路升级上来的,现在版本是5.7

protected function gate()
{
    Gate::define('viewTelescope', function ($user) {
        return in_array($user->email, [
            'taylor@laravel.com',
        ]);
    });
}
本作品采用《CC 协议》,转载必须注明作者和本文链接
黄威
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 1

几年前的坟挖一下, 顺便记录一下
TelescopeApplicationServiceProvider

方法1

    /**
     * Configure the Telescope authorization services.
     *
     * @return void
     */
    protected function authorization()
    {
        $this->gate();

        Telescope::auth(function ($request) {
            // 此处修改你的判断逻辑
            return true;
            return app()->environment('local') ||
                   Gate::check('viewTelescope', [$request->user()]);
        });
    }

方法2

  • 使用可空类型提示或将默认值设置为null来允许访客进行授权检查
  • function (?User $user) 或 function ($user=null)
    /**
     * Register the Telescope gate.
     *
     * This gate determines who can access Telescope in non-local environments.
     *
     * @return void
     */
    protected function gate()
    {
        Gate::define('viewTelescope', function (?User $user) {
            return true;
            return in_array($user->email, [
                //
            ]);
        });
    }
2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!