在Laravel 5.2中,登录用户(admin)获得Auth::guest(): true


Logged in user(admin) getting Auth::guest() : true in Laravel 5.2

我正在用不同的路由实现用户和管理员登录功能。我只是修改了用户路由,使之成为管理员路由。

My routes.php

Route::get('/', function () { return view('welcome');
Route::group([ 'prefix' => 'admin', // "namespace" => ], function() {
  Route::get('/login', 'AdminAuthController@showLoginForm');
  Route::post('/login', 'AdminAuthController@login'); 
  Route::get('/logout', 'AdminAuthController@logout'); 
  Route::get('/home', 'AdminHomeController@index'); 
  });
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.

现在我可以登录作为用户和管理员,但当我在家庭视图我仍然得到Auth::guest => true。所以我不能得到我想要的视图

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
....

有办法解决这个问题吗?

Route::group(['namespace' => 'Frontend', 'middleware' => ['web','auth'], function () {
     Route::get('/', 'PagesController@index');    
});

您的中间件需要类似于上面的例子。需要网页和授权