位置: 编程技术 - 正文
推荐整理分享ThinkPHP3.2.2实现持久登录(记住我)功能的方法(thinkphp-5.0),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:thinkphp d,thinkphp-5.0,thinkphp5.1教程,thinkphp in,thinkphp d,thinkphp5.1教程,thinkphp技巧,thinkphp教程,内容如对您有帮助,希望把文章链接给更多的朋友!
本文实例讲述了ThinkPHP3.2.2实现持久登录功能的方法。分享给大家供大家参考,具体如下:
实现持久登录,即用户在登录时,勾选了"记住我"之后,无论是否关闭浏览器,只要不退出登录,在指定的时间内始终保持登录状态(缺点是在另一台电脑上登录过后,之前那台电脑就不能继续保持登录状态)。
首先,持久登陆使用 cookie 实现,但是 cookie 中不能保存用户密码这样重要的信息,即使加密过。解决方案是在用户登录表中新建3个字段identifier:第二身份标识,token:永久登录标识,timeout:永久登录超时时间。
在用户勾选了"记住我"登录时,应该生成一个唯一的 identifier,一个唯一的 token,并且设置一个过期时间 timeout,把两个代表身份的值写入cookie,设置 cookie 过期时间为 timeout,例如:setcookie('auth',"$identifier:$token",$timeout); 同时把三个值插入数据表;当用户再一次访问网站时,首先判断 cookie 中是否含有 auth,如果含有,则去数据库中进行身份比对(identifier 和 token),比对成功时,把用户信息写入 session,同时用户保持登录状态。
代码:
控制器 TestController.class.php
模型 TestModel.class.php
视图 登录页 test.html
视图 个人中心 ucenter.html
附:模块目录
补充:小编在这里推荐一款本站的php格式化美化的排版工具帮助大家在以后的PHP程序设计中进行代码排版:
php代码在线格式化美化工具:
Yii2 GridView实现列表页直接修改数据的方法 什么意思呢?我来简单的描述下,小编妹子提的需求是这样的,你看啊,你这列表页的数据,能不能我就直接在列表上进行点一下就直接修改啊,我再
ThinkPHP自定义Redis处理SESSION的实现方法 本文实例讲述了ThinkPHP自定义Redis处理SESSION的实现方法。分享给大家供大家参考,具体如下:日常中我们都会使用到session来保存用户登录的信息,常用
thinkPHP删除前弹出确认框的简单实现方法 本文实例讲述了thinkPHP删除前弹出确认框的简单实现方法。分享给大家供大家参考,具体如下:html部分:ahref="/index/key/shanchu/id/{$vo.id}"onclick='returndel();'删
标签: thinkphp-5.0
本文链接地址:https://www.jiuchutong.com/biancheng/294690.html 转载请保留说明!友情链接: 武汉网站建设