当前位置: 首页 > 知识库问答 >
问题:

注销按钮不工作laravel 5.2

翟俊茂
2023-03-14

我使用的是Laravel5.2框架,我已经使用php artisan make:auth命令创建了auth。我的AuthController中有以下内容:

protected $redirectTo = '/';
protected $redirectPath = '/students';
protected $loginPath = '/auth/login';

public function __construct()
{
    $this->middleware('guest', ['except' => 'logout']);
}

这些在我的路线上。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');
});

登录/注册时,一切正常,但当我按下注销按钮时,没有任何变化,我仍然登录。我想要的是在单击注销按钮后重定向到auth/login视图。请帮忙。

共有2个答案

柳培
2023-03-14

将此添加到AuthController.php

    public function getLogout(){
      return redirect('Auth/login');

}
车诚
2023-03-14

问题来自AuthController中间件,因为默认路由器名称为“注销”,如果您更改了名称,中间件将无法识别您的路由器名称。

您只需要保留默认名称路由器或修复您的构造中间件。

Route::get('logout', [ 'uses' => 'Auth\AuthController@getLogout', 'as' => 'logout' ]);

Authcontroller中,

public function __construct(){
   $this->middleware('guest', [ 'except' => 'logout' ]); // Default router name is "logout"
}

希望对您有所帮助:-)

 类似资料:
  • 我正在尝试Laravel5.2中的简单注销功能,但我真的不明白我错在哪里。如果有人能帮忙,那就太好了。 这是路线 loginController方法: 视图中使用此功能的链接: 会话存储代码: AuthController构造函数: 当用户单击注销链接时,它会重定向到根页面,但不会真正破坏会话或注销。它不需要登录来查看页面(它应该这样做)。

  • 我有一个注销功能,在另一个项目中工作,但由于某种原因,在我目前正在处理的项目中不工作。看起来它只是刷新了页面。我查了Symfony的官方留档https://symfony.com/doc/current/security.html但无济于事。希望你们能帮我。 更新:Security.yml: 控制器: 注销小枝: 编辑:我正在使用Symfony 3.4。当我进入页面 /logout它看起来像只是刷

  • 我有一个按钮,可以设置一个动作,比如 如何从该按钮中删除此EventFilter?我尝试了方法,但应该是什么参数?

  • 我有一个问题使添加到购物车按钮工作。不确定是哪一部分代码导致了这个问题。但是,问题的链接是:https://barkerbespoke.com/collections/tie-collection/products/black-wool 你有什么建议?

  • 我面临commandButton的问题,它只有在类型为submit时才起作用。有没有人可以看一下,让我知道是否有解决办法?下面的代码非常简单,并有足够的建议来说明我需要什么。方法test()未执行。方法runSubmit已成功执行。 我需要测试方法在没有提交的情况下执行,因为原始页面确实在提交期间执行了验证,test()方法必须在没有提交的情况下执行,因为这是提交之前的一个初步操作。 我正在使用P

  • 我是Python新手,对GUI编程更是新手。 我有一个按钮和两个旋转箱,我想在点击开始按钮后禁用它们。我在谷歌上搜索了5种禁用Tkinter按钮的不同方法,但似乎都不起作用。理论上,旋转箱应该以同样的方式被禁用,但我只是运气不好。对整个图形用户界面感到非常沮丧。 和是两个spinbox 正如您所看到的,我尝试对按钮使用,但它不起作用。我见过各种各样的代码,在所有的大写字母、大写字母和不同的引号中都