【问题标题】:Laravel Auth::logout() FailLaravel Auth::logout() 失败
【发布时间】:2014-10-03 13:35:19
【问题描述】:

我只是在 Laravel 4 中创建一个基本应用程序,但我遇到了一个小问题。

我的注销功能无法正常工作……它工作正常,但是

当用户登录并单击注销按钮时,我将注销用户,但是当我单击浏览器的后退按钮时,我会返回登录页面。

我正在使用Auth::logout()。 这个方法是终止会话还是对浏览器缓存有任何作用?

我该如何解决这个问题?

我的注销功能:

public function getLogout(){

    if(Auth::check()){

        Auth::logout();
        return Redirect::route('home');

    }
}

我的路线:

/*
 * Authenticated users
 */

Route::group(array('before' => 'auth'), function() {

    Route::get('success', array(

        'as' => 'success',
        'uses' => 'AccountController@getSuccess'

    ));


    Route::get('signout', array(
        'as' => 'signout',
        'uses' => 'AccountController@getLogout'
    ));

  });

【问题讨论】:

    标签: php authentication laravel laravel-4 laravel-routing


    【解决方案1】:

    这是浏览器缓存问题。

    试试...

    App::after(function($request, $response)
    {    
      $response->headers->set('Cache-Control','nocache, no-store, max-age=0, must-revalidate');
      $response->headers->set('Pragma','no-cache');
      $response->headers->set('Expires','Fri, 01 Jan 1990 00:00:00 GMT');
    });

    【讨论】:

      【解决方案2】:

      @Spoofy,这是浏览器缓存的问题, 阅读this 链接以解决此问题

      【讨论】:

        【解决方案3】:

        这是正常行为。浏览器“记住”加载的页面,并且在您点击返回按钮时不会完全重新加载它们,因此即使您已正确注销,您仍然会看到仅验证页面。但是现在对您应用的受限页面发出的任何请求都应该失败,因为即使浏览器向您显示在您登录时呈现的代码,它也无法在没有您干预的情况下进行身份验证。这很容易验证:

        1. 登录
        2. 注销
        3. 点击返回按钮
        4. 刷新页面

        现在应该提示您登录,而不是查看上一页。

        【讨论】:

        • tbuteler 没错!用户正在注销并且可以返回,但是当他尝试执行诸如添加联系人之类的操作时,他会被重定向到登录表单:)。谢谢!
        • 如何设置,注销后,页面刷新?为了节省时间,这个流程?
        【解决方案4】:

        如果用户已经通过身份验证,您可以将用户从登录页面重定向,只需使用 if-else 语句进行检查!

        【讨论】:

        • 那不行,因为浏览器在后退按钮上仍然保持前一个浏览器的“状态”
        • 不是真的!除非你在谈论 Opera Web Browser。 Chrome、Mozilla 刷新以前的页面,这就是您应该检查用户是否经过身份验证的地方。
        • 所以 Richie 应该检查我的成功页面中的 auth::check() 是否到?
        • 我听不懂你在说什么英语
        • @Richie:见上面 tbuteler 的回答,这就是我要说的。
        猜你喜欢
        • 2018-03-28
        • 2014-11-19
        • 2016-04-01
        • 2017-04-28
        • 1970-01-01
        • 2014-10-11
        • 2016-05-16
        • 2015-06-19
        • 1970-01-01
        相关资源
        最近更新 更多