Laravel身份验证检查

时间:2015-12-10 14:50:25

标签: php authentication laravel-5.1 blade

仅当用户未经过身份验证时,我的导航栏才会显示注册登录按钮,否则会显示注销按钮。

                @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

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

2 个答案:

答案 0 :(得分:3)

似乎你的逻辑在这里错了:

@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

答案 1 :(得分:0)

通过使用Auth :: user()

更改Auth :: check(),这个怎么样?
            @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