403 forbidden for nova admin on production site with forge
403 forbidden for nova admin on production site with forge
我有一个新项目与锻造。我在用户 table 中更改了我的管理栏,但我在尝试登录时收到 403 禁止。为什么我不在开发站点上时会收到此消息?我必须在 forge 命令中安装 nova 吗?还是有一些文件我忘记配置了?
在local
应用程序环境中,任何用户都可以访问Laravel Nova。
但是,在访问non-local
应用程序环境时,您必须明确授权用户访问Laravel Nova。 Laravel Nova 文档的 Installation section 中描述了所有内容。
在您的 app/Providers/NovaServiceProvider.php
文件中,有一个门方法。您可以简单地将您的电子邮件添加到那里的 in_array
功能。或者,您可以在用户上创建类似 isAdmin()
的方法,以确定用户是否是管理员。您必须为此创建额外的逻辑(向您的用户模型添加一个 is_admin
布尔值列,或者添加完整的基于角色的访问控制)。
NovaServiceProvider.php
/**
* Register the Nova gate.
*
* This gate determines who can access Nova in non-local environments.
*
* @return void
*/
protected function gate()
{
Gate::define('viewNova', function ($user) {
return in_array($user->email, [
// add your email here
]);
});
// or alternatively
Gate::define('viewNova', function ($user) {
return $user->isAdmin();
});
}
我有一个新项目与锻造。我在用户 table 中更改了我的管理栏,但我在尝试登录时收到 403 禁止。为什么我不在开发站点上时会收到此消息?我必须在 forge 命令中安装 nova 吗?还是有一些文件我忘记配置了?
在local
应用程序环境中,任何用户都可以访问Laravel Nova。
但是,在访问non-local
应用程序环境时,您必须明确授权用户访问Laravel Nova。 Laravel Nova 文档的 Installation section 中描述了所有内容。
在您的 app/Providers/NovaServiceProvider.php
文件中,有一个门方法。您可以简单地将您的电子邮件添加到那里的 in_array
功能。或者,您可以在用户上创建类似 isAdmin()
的方法,以确定用户是否是管理员。您必须为此创建额外的逻辑(向您的用户模型添加一个 is_admin
布尔值列,或者添加完整的基于角色的访问控制)。
NovaServiceProvider.php
/**
* Register the Nova gate.
*
* This gate determines who can access Nova in non-local environments.
*
* @return void
*/
protected function gate()
{
Gate::define('viewNova', function ($user) {
return in_array($user->email, [
// add your email here
]);
});
// or alternatively
Gate::define('viewNova', function ($user) {
return $user->isAdmin();
});
}