【问题标题】:Laravel Blade check user roleLaravel Blade 检查用户角色
【发布时间】:2016-08-28 17:59:47
【问题描述】:

在 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 我找到了检查用户是否是管理员的代码

 if (!Auth::guest() && Auth::user()->admin )

它在 AdminMiddleware.php 中工作 但它在刀片中不起作用。如何使它工作??

【问题讨论】:

  • 尝试注销并重新登录,可能是因为您在登录后添加了列,并且可能没有加载到 Auth::user 会话中。还要在您的问题中添加您对此echo "&lt;pre&gt;"; print_r(Auth::user()); die() 的转储响应,这样我们就可以看到管理列是否即将到来
  • 你有什么错误吗?
  • 我做了一个检查路线,并用它打印出 check OK Route::get('check', function() { echo 'check OK'; });并使用此 Route::get('check', function() { print_r(Auth::user()); });什么都不打印.....甚至没有错误!
  • 对不起,伙计们,但它现在可以工作了.....我想我只需要重置服务器:(我的错

标签: laravel-5.2 laravel-blade


【解决方案1】:

我发现如此冗长,检查是否登录,检查角色,被添加到我的刀片文件周围以分散注意力。您可以考虑添加自定义刀片指令。在 AppServiceProvider boot() 函数中添加类似这样的内容

        Blade::if('admin', function () {            
            if (auth()->user() && auth()->user()->admin) {
                return 1;
            }
            return 0;
        });

在刀片中只使用

@admin
<p>Only admin sees this</p>
@endadmin

【讨论】:

    【解决方案2】:
                @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      
    

    这只是为了清除(只需在用户表中再添加一列 tinyint 'admin' 并设置为 1)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-01-14
      • 2011-11-05
      • 2022-10-16
      • 2020-04-19
      • 2020-08-04
      • 2013-11-10
      • 1970-01-01
      相关资源
      最近更新 更多