标签:type color pat 设置 use date dex code new
前情记录:
这是关于前一段时间工作中网站的登陆信息的小总结,以前也没有想到要写这个随笔,是因为一个同事的一句话给了我很大的感触,所以就决定要总结一下。
去年半年时间再做一个后台管理程序(ERP)网站的登陆、权限等方面我负责,实现了登陆、权限、缓存丢失但不超时自动重新登录、异地登陆登出等功能,还做了一个微信、一个官网的全部内容(这里主要谈登陆、个人信息的存储)。
但是自己没有意识到自己用的什么方式,在和同事聊模式的时候他说:erp中就是缓存+数据库的方式实现的。正所谓一举惊醒梦中人,听君一席话胜读十年书,和别人交流(说与听)真的能提升自己的认知。
一:简单网站的个人信息储存方案:
采用cookie+sesion的方式判断登陆状态+个人信息,登录时存储两者,并赋给相同过期时间,不排除session丢失的情况。
1:cookie中存储简单信息用于页面效果内容展示、判断登陆状态。
js 获取到cookie内容个人的基本信息和是否登陆,决定是否可以进入某些页面、某些关键操作。
cookie失效或者丢失则重新登录。
2:session用于后台判定登陆状态session["userflag"] 登陆者["userid"]
实际的操作回去判断session的信息有效性,判断session失效后同时将cookie做过期处理,实现登陆状态控制,并处理了session丢失的问题。
总结:简答的前后台的两种标示判断登陆状态及信息。
代码:
function CookieHelper() { } //删除cookie CookieHelper.prototype.deleteCookie = function (name) { var date = new Date(); date.setTime(date.getTime() - 10000); document.cookie = name + "=v; expires=" + date.toGMTString() + ";path=/"; } //设置cookie CookieHelper.prototype.setCookie = function (name, value) { //设置之前先删除 this.deleteCookie(name); //获取当前时间 var date = new Date(); var expiresDays = 10; //将date设置为10天以后的时间 date.setTime(date.getTime() + expiresDays * 24 * 3600 * 1000); //cookie设置为10天后过期 document.cookie = name + "=" + value + "; expires=" + date.toGMTString() + ";path=/"; document.cookie } //获取某一cookie key=value CookieHelper.prototype.getCookie = function (name) { var strCookie = document.cookie; var arrCookie = strCookie.split("; "); for (var i = 0; i < arrCookie.length; i++) { var arr = arrCookie[i].split("="); if (arr[0] == name) { return arr[1]; } } return ""; } //获取cookie 类型 key=id=123&name=qwe&pwd=uio CookieHelper.prototype.getCookies = function (name) { var strCookie = document.cookie; var arrCookie = strCookie.split("; "); for (var i = 0; i < arrCookie.length; i++) { var arr = arrCookie[i].split("="); if (arr[0] == name) { return arrCookie[i].substring(arrCookie[i].indexOf("=") + 1) } } return ""; } //获取所有cookie CookieHelper.prototype.getAllCookie = function (name) { var strCookie = document.cookie; var arrCookie = strCookie.split("; "); if (arrcookie.length > 0) { return arrCookie; } else { return ""; } }
标签:type color pat 设置 use date dex code new
原文地址:http://www.cnblogs.com/zhaokunbokeyuan256/p/6677844.html