问题如题,图片演示如下:
微信里点“发现”,扫一下
二维码便可将本文分享至朋友圈。
个人的第一反应,思路是这样的:
把 email 或者用户名存 session,登录超时的时候,用 session 取用户名和用户输入的密码一起验证就可以了吧
session在过期的时候,会清空所有值
我的想法是登录是一个状态是一个比较长的时间,比如一天过期,而如果半小时未操作视为超时。那么问题就简单了,做一个中间件,每次访问登录后的页面就判断下和上次操作是否超过半个小时,如果未达到,则更新session里面的最后操作时间,达到半个小时,则显示你这个页面。
基本解决了 用户登录使用session,当用户session过期后,会对所有session做清空处理,这样设置中间键是没有用的
我是这么做的: 1.用户登录使用Session,登录验证通过之后写入Cache(使用Redis驱动),设置Cache时间为1天。
Cache::set('useremail','useremail',1);
2.在登录页面方法判断是否有Cache的useremail值
if(Cache::has('useremail')){ return view('user.lockscreen') }
如果有值,就在锁屏blade页面读取之前写入的用户信息,然后提交新的验证方法(因为我做了验证码,锁屏页面不做验证码验证,只输入密码)
{Cache::get('useremail')}
如果有错误的地方,请指正。