在 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
如果用户经过身份验证,则显示主页和管理链接,如果用户未经过身份验证,则仅显示主页链接。
我的问题是如何在这里检查用户是否是管理员?
我有 Laravel 的默认登录系统,我刚刚在表 users -> ('admin') 中又添加了一列,其tinyint 值为 1,在此视频中https://www.youtube.com/watch?v=tbNKRr97uVs https://www.youtube.com/watch?v=tbNKRr97uVs我找到了检查用户是否是管理员的代码
if (!Auth::guest() && Auth::user()->admin )
它在 AdminMiddleware.php 中工作
但它在刀片中不起作用。如何使这个工作?
我发现这样的冗长,检查是否登录,检查角色,被添加到我的刀片文件周围分散注意力。您可以考虑添加自定义刀片指令。将类似的内容添加到 AppServiceProvider boot() 函数
Blade::if('admin', function () {
return auth()?->user()?->admin === true;
});
在刀片中只需使用
@admin
<p>Only admin sees this</p>
@endadmin
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)