Как проверить текущую защиту аутентификации и ее гостя в laravel шаблоне блейда? - PullRequest
2 голосов
/ 20 апреля 2020

Я работаю над Laravel проектом. У меня есть 2 охранника аутентификации. Это первый раз, когда я работаю с несколькими охранниками аутентификации.

Обычно на внешнем интерфейсе я использую для разделения кода для Гостя и пользователей, вошедших в систему, как:

@guest
    //Data for Guest Users.   
@endguest

@auth
    //Data for Logged in Users.
@endauth

Теперь с несколькими охранниками, @guest имеет значение false, только когда я вошел в систему по умолчанию охранник. ie, @guest активен, даже когда я вошел в систему через 'Admin Guard'. Как я могу проверить, является ли пользователь гостем для Admin Guard или пользователь вошел в систему через Admin Guard?

1 Ответ

1 голос
/ 20 апреля 2020

Это зависит от того, как зовут ваших охранников. Обычно «web» - это защита по умолчанию в laravel. и это будет упомянуто в auth. php внутри директории config как:

defaults' => [
    'guard' => 'web',
    'passwords' => 'users',
],

Так что когда вы проверяете @guest или @auth, проверяется Guard of 'web'. Чтобы проверить другого охранника, скажите «admin», вы можете указать его как:

@guest('admin')
    //Data for Guest Users of admin guard.   
@endguest

@auth('admin')
    //Data for Logged in Users of admin guard.
@endauth

Надеюсь, что это помогло вашему сомнению. не стесняйтесь спрашивать больше, если у вас есть какие-либо сомнения по этому поводу. Также не забудьте проверить сообщество, прежде чем отправлять вопросы. На подобные вопросы вроде этого уже дан ответ.

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