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
我的导航栏应该仅在用户未通过身份验证时显示 注册 和 登录 按钮,否则 注销 按钮。
@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