在一段时间后注销用户并更改位置

时间:2018-02-11 19:07:22

标签: laravel timer logout

我只编写了基础知识,我不知道什么是最好的方式来注销用户并在让我们说10分钟之后将其重定向到其他页面。

简单路线:

Route::get('/post/create', 'PostsController@create');
Route::post('/post/store', 'PostsController@store');

控制器功能:

public function create()
{
    return view('form_components_html.create');
}

我知道有这个功能Auth::logout();但我不知道如何以及在何处放置它,以及如何将其延迟10分钟?

1 个答案:

答案 0 :(得分:1)

将以下jQuery添加到您要执行此操作的页面。我建议你使用jQuery来做这件事,因为它非常容易理解和实现。

<强> Jquery的:

var activityTimeout = setTimeout(inActive, 600000);

function resetActive(){
    clearTimeout(activityTimeout);
    activityTimeout = setTimeout(inActive, 600000);
}

function inActive(){
    window.location.replace("{{ url('logout') }}");
}

// Check for mousemove, could add other events here such as checking for key presses ect.
$(document).bind('mousemove', function(){resetActive()});

您可以将此代码添加到应用程序的布局中,这样您就不必在每个页面中添加它。这将检查鼠标移动事件是否发生。如果发生这种情况,它将重置超时,如果没有,它将在上次活动10分钟后将用户重定向到logout URL。您可以指定任何所需的URL!

根据你的问题,这可能会有所帮助!让我知道你对此有何看法。