如何在 laravel blade 模板中查看当前的身份验证守卫及其访客?
How to check current authentication guard and its guest in laravel blade template?
我正在做一个 Laravel 项目。我有 2 个身份验证警卫。这是我第一次使用多重身份验证保护。
通常在前端,我用于将访客和登录用户的代码分开为:
@guest
//Data for Guest Users.
@endguest
@auth
//Data for Logged in Users.
@endauth
现在有多个守卫,@guest 只有在我使用默认守卫登录系统时才为假。即,即使我通过 'Admin Guard' 登录,@guest 仍处于活动状态。如何检查用户是否是 Admin Guard 的来宾或用户是否通过 Admin Guard 登录?
这取决于你的守卫名字是什么。通常 'web' 是 laravel 中的默认守卫。它将在配置目录中的 auth.php 中被提及为:
defaults' => [
'guard' => 'web',
'passwords' => 'users',
],
因此,无论何时检查@guest 或@auth,都会检查 'web' 的守卫。要检查不同的守卫,比如 'admin',您可以将其指定为:
@guest('admin')
//Data for Guest Users of admin guard.
@endguest
@auth('admin')
//Data for Logged in Users of admin guard.
@endauth
希望这对你的疑惑有所帮助。如果您对此有任何疑问,请随时询问更多。还要确保在发布问题之前检查社区。因为像这样的类似问题已经得到回答。
我正在做一个 Laravel 项目。我有 2 个身份验证警卫。这是我第一次使用多重身份验证保护。
通常在前端,我用于将访客和登录用户的代码分开为:
@guest
//Data for Guest Users.
@endguest
@auth
//Data for Logged in Users.
@endauth
现在有多个守卫,@guest 只有在我使用默认守卫登录系统时才为假。即,即使我通过 'Admin Guard' 登录,@guest 仍处于活动状态。如何检查用户是否是 Admin Guard 的来宾或用户是否通过 Admin Guard 登录?
这取决于你的守卫名字是什么。通常 'web' 是 laravel 中的默认守卫。它将在配置目录中的 auth.php 中被提及为:
defaults' => [
'guard' => 'web',
'passwords' => 'users',
],
因此,无论何时检查@guest 或@auth,都会检查 'web' 的守卫。要检查不同的守卫,比如 'admin',您可以将其指定为:
@guest('admin')
//Data for Guest Users of admin guard.
@endguest
@auth('admin')
//Data for Logged in Users of admin guard.
@endauth
希望这对你的疑惑有所帮助。如果您对此有任何疑问,请随时询问更多。还要确保在发布问题之前检查社区。因为像这样的类似问题已经得到回答。