Laravel Новая проверка, если администратор вошел в систему - PullRequest
0 голосов
/ 11 февраля 2020

Мне нужно проверить, вошел ли Laravel Nova admin с простого Laravel контроллера. По умолчанию Auth::check( ) здесь не работает. Это вообще возможно?

Ответы [ 2 ]

0 голосов
/ 11 февраля 2020

С сайта документации Nova :

Nova использует защиту аутентификации по умолчанию, определенную в вашем файле конфигурации auth. Если вы хотите настроить эту защиту, вы можете установить значение guard в файле конфигурации Nova.

Кроме того, в работе вам необходимо настроить способ авторизации пользователей. в админку Nova . Это делается методом gate() вашего app/Providers/NovaServiceProvider.php. Например:

app / Providers / NovaServiceProvider. php

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

Итак, если вошедший в систему пользователь соответствует этим условиям (в примере: $user->isAdmin() == true), вы могли бы сказать, что «Nova Admin» вошел в систему.

Конечно, если вы включили систему ACL в свое приложение, вы можете просто проверить, вошел ли пользователь, вошедший в систему. имеет определенную c роль (или разрешение), тогда эта роль может служить в качестве проверки в функции Nova gate(), чтобы определить, какие пользователи могут получить доступ к панели администратора.

Надеюсь, это поможет.

0 голосов
/ 11 февраля 2020

В Nova нет встроенной концепции «админа». Это зависит от вас. В стандартной установке локальный пускает кого угодно; в производстве он не позволяет кому-либо дюйму

https://nova.laravel.com/docs/2.0/installation.html#authorizing -нове

Вам нужно посмотреть, как ваш viewNova шлюз авторизации настроен и соответствует этому.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...