Laravel Nova检查管理员是否登录

时间:2020-02-11 17:21:11

标签: laravel laravel-nova

我需要检查Laravel Nova管理员是否从简单的Laravel控制器登录。默认{ "message": "Problems parsing JSON", "documentation_url": "https://developer.github.com/v3/repos/#create" } 在这里不起作用。这有可能吗?

2 个答案:

答案 0 :(得分:0)

Nova中没有内置的“管理员”概念。随你(由你决定。在库存安装中,本地允许任何人进入;在生产中,不会让任何人进入。

https://nova.laravel.com/docs/2.0/installation.html#authorizing-nova

您需要查看viewNova授权门的配置方式,并进行匹配。

答案 1 :(得分:0)

来自新星documentation site

Nova使用auth配置文件中定义的默认身份验证保护。如果您想自定义此防护,则可以在Nova的配置文件中设置guard值。

此外,在生产中,您需要customize the way you authorize your users into the Nova admin panel。这是通过gate()的{​​{1}}方法完成的。例如:

app / Providers / NovaServiceProvider.php

app/Providers/NovaServiceProvider.php

因此,如果登录用户符合此条件(在示例中为protected function gate() { Gate::define('viewNova', function ($user) { return $user->isAdmin(); // <---- }); } ),则可以说已登录“ Nova Admin”。

当然,如果您的应用中包含ACL系统,则只需检查登录用户是否具有特定角色(或权限),然后该角色就可以在Nova {{1 }}函数来定义哪些用户可以访问管理面板。

希望这会有所帮助。