注销按钮在 laravel 5.2 中不起作用
Logout button not working in laravel 5.2
我正在使用 laravel 5.2 框架,并且我已经使用 php artisan make:auth
命令创建了身份验证。我的 AuthController 中有这个:
protected $redirectTo = '/';
protected $redirectPath = '/students';
protected $loginPath = '/auth/login';
public function __construct()
{
$this->middleware('guest', ['except' => 'logout']);
}
这些在我的 routes.php 文件中:
Route::group(['middleware' => 'web'], function () {
Route::auth();
Route::get('/home', 'HomeController@index');
Route::get('/', 'HomeController@index');
Route::get('/students/', 'StudentsController@showStudents');
// Authentication routes...
Route::get('auth/login', 'Auth\AuthController@getLogin');
Route::post('auth/login', 'Auth\AuthController@postLogin');
Route::get('auth/logout', 'Auth\AuthController@getLogout');
// Registration routes...
Route::get('auth/register', 'Auth\AuthController@getRegister');
Route::post('auth/register', 'Auth\AuthController@postRegister');
});
虽然登录 in/registering 一切正常,但是当我按下注销按钮时没有任何变化,我仍然登录。我想要的是在单击该注销后重定向到 auth/login 视图按钮。请帮忙。
将此添加到 AuthController.php
public function getLogout(){
return redirect('Auth/login');
}
问题来自 AuthController 中间件,因为默认路由器名称是“logout
”,如果您更改了名称,中间件将无法识别您的路由器名称。
您只需要保留默认名称路由器或修复您的构造中间件。
Route::get('logout', [ 'uses' => 'Auth\AuthController@getLogout', 'as' => 'logout' ]);
在Authcontroller
,
public function __construct(){
$this->middleware('guest', [ 'except' => 'logout' ]); // Default router name is "logout"
}
希望对您有所帮助:-)
我正在使用 laravel 5.2 框架,并且我已经使用 php artisan make:auth
命令创建了身份验证。我的 AuthController 中有这个:
protected $redirectTo = '/';
protected $redirectPath = '/students';
protected $loginPath = '/auth/login';
public function __construct()
{
$this->middleware('guest', ['except' => 'logout']);
}
这些在我的 routes.php 文件中:
Route::group(['middleware' => 'web'], function () {
Route::auth();
Route::get('/home', 'HomeController@index');
Route::get('/', 'HomeController@index');
Route::get('/students/', 'StudentsController@showStudents');
// Authentication routes...
Route::get('auth/login', 'Auth\AuthController@getLogin');
Route::post('auth/login', 'Auth\AuthController@postLogin');
Route::get('auth/logout', 'Auth\AuthController@getLogout');
// Registration routes...
Route::get('auth/register', 'Auth\AuthController@getRegister');
Route::post('auth/register', 'Auth\AuthController@postRegister');
});
虽然登录 in/registering 一切正常,但是当我按下注销按钮时没有任何变化,我仍然登录。我想要的是在单击该注销后重定向到 auth/login 视图按钮。请帮忙。
将此添加到 AuthController.php
public function getLogout(){
return redirect('Auth/login');
}
问题来自 AuthController 中间件,因为默认路由器名称是“logout
”,如果您更改了名称,中间件将无法识别您的路由器名称。
您只需要保留默认名称路由器或修复您的构造中间件。
Route::get('logout', [ 'uses' => 'Auth\AuthController@getLogout', 'as' => 'logout' ]);
在Authcontroller
,
public function __construct(){
$this->middleware('guest', [ 'except' => 'logout' ]); // Default router name is "logout"
}
希望对您有所帮助:-)