在 Laravel Nova 中限制访问

Restrict access in Laravel Nova

我在一个项目中使用 nova,我只想将仪表板的访问权限授予管理员用户。所以我根据文档尝试了这个,但我不知道为什么它不起作用。任何人都可以帮助我实现这一目标!谢谢

这里是NovaServiceProvider的方法门:

 protected function gate()
{
    Gate::define('viewNova', function ($user) {
        $this->isAdmin($user);
    });
}

**here i checked if admin user** 

public function isAdmin(User $user)
{
    return $user->type == 3 ? true : false;
}

我相信这是因为你忘了return它。

protected function gate()
{
    Gate::define('viewNova', function ($user) {
        return $this->isAdmin($user); // You need to return
    });
}

我想您在数据库中添加了一列 table 以获得许可。 比如你的权限是:admin & user

所以请在下面插入您的迁移: $table->枚举('permission', ['admin', 'user'])->默认('user');

(对不起,因为我的英语很糟糕) 看见: https://laravel.com/docs/8.x/migrations#column-method-enum