簡體   English   中英

Laravel 5.4 auth::check() 假

[英]Laravel 5.4 auth::check() false

我想用訪客和身份驗證功能制作我的索引頁面。

當客人來訪時,他們可以嘗試登錄; 並且在登錄后,它會顯示用戶的信息,如用戶名。

路由routes/web.php:

Route::get('vendor', function () {
    return view('vendor.home');
})->name('vendor')->middleware('web');

在刀片模板中,我使用Auth::check()進行身份驗證但失敗。如果我使用middleware(['web','auth:vendor'])如果訪客將重定向到登錄頁面

@if(Auth::guest())
                    <li><a href="{{route('vendor.login')}}"> <strong><i class="fa fa-user"></i> Login </strong> </a></li>
                    <li><a href="{{route('vendor.register')}}" class="btn btn-primary oval btn-lg"> <strong>Register</strong> </a></li>
                @else
                    <li class="dropdown">
                        <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">
                            {{ Auth::user()->name }} <span class="caret"></span>
                        </a>

                        <ul class="dropdown-menu" role="menu">
                            <li>
                                <a href="{{ route('vendor.logout') }}" class="btn btn-default btn-flat">Log Out</a>
                            </li>
                        </ul>
                    </li>
                @endif
                    {{ dd(Auth::check()) }}

每次我成功登錄時,在我刷新索引頁面后,它仍然會顯示登錄按鈕而不是用戶名按鈕。

這個結果在此處輸入圖片說明 在此處輸入圖片說明

嘗試用\\Auth::auth()替換Auth::

@if(\Auth::guest())
                <li><a href="{{route('vendor.login')}}"> <strong><i class="fa fa-user"></i> Login </strong> </a></li>
                <li><a href="{{route('vendor.register')}}" class="btn btn-primary oval btn-lg"> <strong>Register</strong> </a></li>
            @else
                <li class="dropdown">
                    <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">
                        {{ \Auth::user()->name }} <span class="caret"></span>
                    </a>

                    <ul class="dropdown-menu" role="menu">
                        <li>
                            <a href="{{ route('vendor.logout') }}" class="btn btn-default btn-flat">Log Out</a>
                        </li>
                    </ul>
                </li>
            @endif
                {{ dd(\Auth::user()) }}

這是我的回答

@if(Auth::guard('vendor')->check())
                    <li class="dropdown">
                        <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">
                            {{ Auth::guard('vendor')->user()->name }} <span class="caret"></span>
                        </a>

                        <ul class="dropdown-menu" role="menu">
                            <li>
                                <a href="{{ route('vendor.dashboard') }}">Dashboard</a>
                            </li>
                            <li>
                                <a href="{{ route('vendor.logout') }}" >Log Out</a>
                            </li>
                        </ul>
                    </li>
                @else
                    <li><a href="{{route('vendor.login')}}"> <strong><i class="fa fa-lock"></i> Login </strong> </a></li>
                    <li><a href="{{route('vendor.register')}}" class="btn btn-success btn-lg"> <strong>Register</strong> </a></li>
                @endif

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM