laravelのauth、とguest、の判断の仕方について
userとadminが別のルートでログインできる機能を実装しています。ほとんどlaravel5.2標準のauth機能を拡張したものです。
php artisan route:list
| | GET|HEAD | admin/home | | App\Http\Controllers\AdminHomeController@index | web,auth:admin |
| | POST | admin/login | | App\Http\Controllers\AdminAuthController@login | web,guest:admin |
| | GET|HEAD | admin/login | | App\Http\Controllers\AdminAuthController@showLoginForm | web,guest:admin |
| | GET|HEAD | admin/logout | | App\Http\Controllers\AdminAuthController@logout | web |
| | GET|HEAD | home | | App\Http\Controllers\HomeController@index | web,auth:user |
| | GET|HEAD | login | | App\Http\Controllers\Auth\AuthController@showLoginForm | web,guest:user |
| | POST | login | | App\Http\Controllers\Auth\AuthController@login | web,guest:user |
| | GET|HEAD | logout | | App\Http\Controllers\Auth\AuthController@logout | web |
| | POST | password/email | | App\Http\Controllers\Auth\PasswordController@sendResetLinkEmail | web,guest |
| | POST | password/reset | | App\Http\Controllers\Auth\PasswordController@reset | web,guest |
| | GET|HEAD | password/reset/{token?} | | App\Http\Controllers\Auth\PasswordController@showResetForm | web,guest |
| | GET|HEAD | register | | App\Http\Controllers\Auth\AuthController@showRegistrationForm | web,guest:user |
| | POST | register | | App\Http\Controllers\Auth\AuthController@register | web,guest:user |
admin guardを追加しています。
ログインだったり、非認証ユーザー(admin)をそれぞれのlogin画面にリダイレクトするところまではできたのですが、以下のif文の中の、Auth::guest()が理解できていなく困っています。
app.blade.php
...
@if (Auth::guest())
<li><a href="{{ url('/login') }}">Login</a></li>
<li><a href="{{ url('/register') }}">Register</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="{{ url('/logout') }}"><i class="fa fa-btn fa-sign-out"></i>Logout</a></li>
</ul>
</li>
@endif
....
ルートでは、home、admin/home画面はauthで、それ以外がguestだと認識しているのですが、ログイン後のhome画面でも、上のAuth::guest()がtrueになってしまう状態で、思っているビューが表示されません。
似たような問題を解決されたことがある方、どうかご教授よろしくお願いいたします。