由于Laravel 5.5中的不活动问题,该页面已过期

时间:2018-11-12 10:35:55

标签: laravel laravel-5.5

由于不活动,我希望在某些警告后自动将用户带到登录页面。为此,我正在使用Javascript提交注销表单。运行make:auth命令后,注销表单将与其他页面(登录,注册等)一起自动生成。即使使用Javascript提交了相同的表单,我仍然收到“由于不活动而导致页面过期”错误。以下是表单和Javascript代码。

表格及其自动生成的JavaScript代码:

<a id="lnkLogout" href="{{ route('logout') }}" 
onclick="event.preventDefault(); document.getElementById('logout-form').submit();">
Logout</a>
<form id="logout-form" action="{{ route('logout') }}" method="POST" style="display: none;">
 {{ csrf_field() }}
</form>

我的代码:

<script type="text/javascript" language="javascript">
    var idleMax = 1; // Logout after 10 minutes of IDLE
    var idleTime = 0;

    var idleInterval = setInterval("timerIncrement()", 60000);  // 1 minute interval
    $( "body" ).mousemove(function( event ) {
        idleTime = 0; // reset to zero
    });

    // count minutes
    function timerIncrement() {
        idleTime = idleTime + 1;
        if (idleTime > idleMax) {
            $("#lnkLogout").click();
        }
    }
</script>

登出路线:

Route::post('logout', 'Auth\LoginController@logout')->name('logout');

用于从AuthenticatesUsers特征中注销用户的功能:

public function logout(Request $request)
{
    $this->guard()->logout();

    $request->session()->invalidate();

    return redirect('/');
}

0 个答案:

没有答案