由于不活动,我希望在某些警告后自动将用户带到登录页面。为此,我正在使用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('/');
}