我正在用不同的路由实现用户和管理员登录功能。我只是修改了用户路由,使之成为管理员路由。
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');
});
您的中间件需要类似于上面的例子。需要网页和授权