我是Laravel 5.4的新手,刚刚创建了一个登录表单。我注意到的事情是,如果我离开登录大约2小时并返回,我的csrf令牌将会过期。是否可以显示会话已过期的javascript警告框,单击确定按钮后会再次进入登录页面?
答案 0 :(得分:-1)
您可以在视图中执行类似操作。使用auth
辅助函数。
@if (! auth()->check())
<script type="text/javascript">
alert('session expired!!')
</script>
@endif
修改:
好的,上面的函数只在页面加载时运行一次并且不符合OPs要求,所以为了解决这个问题,我们可以尝试直接捕获后端的token-mismatch
异常。
因此,在render()
的方法/app/Exceptions/Handler.php
中,您可以尝试以下内容:
if ( $e instanceof \Illuminate\Session\TokenMismatchException ) {
return redirect()->route('login');
}