允许某些角色访问 Laravel Nova 仪表板?
Enabling certain roles to access Laravel Nova dashboard?
我安装了 Spatie Permissions 包,并且创建了策略来限制使用此包访问我的模型。
但是,我在创建入口以允许某些角色(例如 'Admin' 和 'Content Editor' 访问 Nova 仪表板时遇到了一些困难?
我假设它会涉及 NovaServiceProvider 中的 gate() 函数。这是我试过的。
protected function gate()
{
Gate::define('viewNova', function ($user) {
if ($user->hasRole('Admin') || $user->hasRole('Content Editor'))
{
return true;
}
});
}
你可以这样实现你想要的:
/**
* 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 $user->hasAnyRole(['Admin', 'Content Editor']);
});
}
有关 Nova 访问授权的文档中的更多信息:https://nova.laravel.com/docs/1.0/installation.html#authorizing-nova
我安装了 Spatie Permissions 包,并且创建了策略来限制使用此包访问我的模型。
但是,我在创建入口以允许某些角色(例如 'Admin' 和 'Content Editor' 访问 Nova 仪表板时遇到了一些困难?
我假设它会涉及 NovaServiceProvider 中的 gate() 函数。这是我试过的。
protected function gate()
{
Gate::define('viewNova', function ($user) {
if ($user->hasRole('Admin') || $user->hasRole('Content Editor'))
{
return true;
}
});
}
你可以这样实现你想要的:
/**
* 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 $user->hasAnyRole(['Admin', 'Content Editor']);
});
}
有关 Nova 访问授权的文档中的更多信息:https://nova.laravel.com/docs/1.0/installation.html#authorizing-nova