Laravel Blade 检查用户角色
Laravel Blade check user role
在 laravel Blade 模板中,我们可以使用以下代码排除 HTML 的某些部分:
@if (Auth::user())
<li><a href="{{ url('/home') }}">Mein Profil</a></li>
<li><a href="{{ url('/admin') }}">Admin</a></li>
@else
<li><a href="{{ url('/home') }}">Mein Profil</a></li>
@endif
如果用户通过身份验证则显示主页和管理员 links,如果用户未通过身份验证则仅显示主页 link.
我的问题是如果用户是管理员,如何在此处进行检查?
我有来自 laravel 的默认登录系统,我刚刚在 table 用户 -> ('admin') 中添加了一列,其中 tinyint 值为 1 并且在此视频中
https://www.youtube.com/watch?v=tbNKRr97uVs
我找到了检查用户是否为管理员的代码
if (!Auth::guest() && Auth::user()->admin )
它在 AdminMiddleware.php 中有效
但它在 blade 中不起作用。如何让它工作??
@if (!Auth::guest() && Auth::user()->admin)
<li><a href="{{ url('/home') }}">Mein Profil</a></li>
<li><a href="{{ url('/admin') }}">Admin</a></li>
@else
<li><a href="{{ url('/home') }}">Mein Profil</a></li>
@endif
这只是为了清除(只需在用户 table 中再添加一列 tinyint 'admin' 并设置为 1)
我发现这么长篇大论,检查是否登录,检查角色,被添加到我的 blade 文件周围以分散注意力。您可以考虑添加自定义 blade 指令。在 AppServiceProvider boot() 函数中添加类似这样的内容
Blade::if('admin', function () {
if (auth()->user() && auth()->user()->admin) {
return 1;
}
return 0;
});
在blade中只需使用
@admin
<p>Only admin sees this</p>
@endadmin
在 laravel Blade 模板中,我们可以使用以下代码排除 HTML 的某些部分:
@if (Auth::user())
<li><a href="{{ url('/home') }}">Mein Profil</a></li>
<li><a href="{{ url('/admin') }}">Admin</a></li>
@else
<li><a href="{{ url('/home') }}">Mein Profil</a></li>
@endif
如果用户通过身份验证则显示主页和管理员 links,如果用户未通过身份验证则仅显示主页 link.
我的问题是如果用户是管理员,如何在此处进行检查?
我有来自 laravel 的默认登录系统,我刚刚在 table 用户 -> ('admin') 中添加了一列,其中 tinyint 值为 1 并且在此视频中 https://www.youtube.com/watch?v=tbNKRr97uVs 我找到了检查用户是否为管理员的代码
if (!Auth::guest() && Auth::user()->admin )
它在 AdminMiddleware.php 中有效 但它在 blade 中不起作用。如何让它工作??
@if (!Auth::guest() && Auth::user()->admin)
<li><a href="{{ url('/home') }}">Mein Profil</a></li>
<li><a href="{{ url('/admin') }}">Admin</a></li>
@else
<li><a href="{{ url('/home') }}">Mein Profil</a></li>
@endif
这只是为了清除(只需在用户 table 中再添加一列 tinyint 'admin' 并设置为 1)
我发现这么长篇大论,检查是否登录,检查角色,被添加到我的 blade 文件周围以分散注意力。您可以考虑添加自定义 blade 指令。在 AppServiceProvider boot() 函数中添加类似这样的内容
Blade::if('admin', function () {
if (auth()->user() && auth()->user()->admin) {
return 1;
}
return 0;
});
在blade中只需使用
@admin
<p>Only admin sees this</p>
@endadmin