Laravel 身份验证检查

Laravel authentication check

我的导航栏应该仅在用户未通过身份验证时显示 注册登录 按钮,否则 注销 按钮。

                @if(Auth::check())
                    <li><a class="navbarButton"  href="auth/register"><span class="glyphicon glyphicon-user"></span> Sign Up</a></li>
                    <li><a class="navbarButton" href="auth/login"><span class="glyphicon glyphicon-log-in"></span> Login</a> </li>
                @else
                    <li><a class="navbarButton"  href="auth/logout"><span class="glyphicon glyphicon-log-out"></span> Log out</a></li>
                @endif

我知道用户已通过身份验证,因为我从登录和注册页面被重定向,但它们仍显示在导航栏中。

将 Auth::check() 更改为 Auth::user()

怎么样?
            @if(Auth::user())
                <li><a class="navbarButton"  href="auth/register"><span class="glyphicon glyphicon-user"></span> Sign Up</a></li>
                <li><a class="navbarButton" href="auth/login"><span class="glyphicon glyphicon-log-in"></span> Login</a> </li>
            @else
                <li><a class="navbarButton"  href="auth/logout"><span class="glyphicon glyphicon-log-out"></span> Log out</a></li>
            @endif

看来你的逻辑错了:

@if(Auth::check())
  //this will show if the statement is true (user logged in)
  <li><a class="navbarButton"  href="auth/register"><span class="glyphicon glyphicon-user"></span> Sign Up</a></li>
  <li><a class="navbarButton" href="auth/login"><span class="glyphicon glyphicon-log-in"></span> Login</a> </li>
@else
  //this will show if the statement is false (no user logged in)
  <li><a class="navbarButton"  href="auth/logout"><span class="glyphicon glyphicon-log-out"></span> Log out</a></li>
@endif

如果将其反转为:

@if(Auth::check())
  //this will show if the statement is true (user logged in)      
  <li><a class="navbarButton"  href="auth/logout"><span class="glyphicon glyphicon-log-out"></span> Log out</a></li>
@else
  //this will show if the statement is false (no user logged in)
  <li><a class="navbarButton"  href="auth/register"><span class="glyphicon glyphicon-user"></span> Sign Up</a></li>
  <li><a class="navbarButton" href="auth/login"><span class="glyphicon glyphicon-log-in"></span> Login</a> </li>
@endif