use*_*589 4 authentication session laravel
我已经看到了这个领域的几个问题,到目前为止,所有答复似乎都集中在检测下一个用户操作的到期时间上。不管能否做到这一点,我想要的是让服务器端代码检测到过期,然后强制刷新用户屏幕。从概念上讲,该过程是这样的:
就我而言,我使用身份验证来登录并向用户授予管理权限。这包括访问维护表格/按钮。
基本上我不想要的是一个屏幕,因为它是到期前的,表明用户a)仍然登录,b)显示他们当时正在做的事情的详细信息。如果用户拥有特殊权利,则它们在过期后不应保持可见。例如,管理员正在更改用户的个人详细信息并被叫走。鉴于他/她应该终止该过程并注销,如果他们没有这样做,则详细信息不应留在屏幕上供其他人稍后查看。
理想的情况是某种形式的事件侦听器,但即使如此,我也不确定如何强制屏幕更改而不运行 JS 计时器循环。
我认为我不是唯一有此类要求的人,所以我的问题是......
在 Laravel 5 的限制下,你如何处理这种类型的需求?
会话的默认值在 config/session.php 下定义。您可以使用配置辅助函数获取该值config('session.lifetime')
。
在您的情况下,您需要检查客户端的会话时间(javascript。)
下面是在会话过期之前刷新页面的代码示例。此代码用于刀片模板。
@if (Auth::check())
<script>
var timeout = ({{config('session.lifetime')}} * 60000) -10 ;
setTimeout(function(){
window.location.reload(1);
}, timeout);
</script>
@endif
Run Code Online (Sandbox Code Playgroud)
您可以调整代码以提示对话框,以确认用户是否想要延长其会话时间并执行 ajax 来获取或刷新会话时间。
归档时间: |
|
查看次数: |
16230 次 |
最近记录: |