Vue如何实现登录记住账号密码功能
发表于:2024-11-25 作者:千家信息网编辑
千家信息网最后更新 2024年11月25日,本篇内容主要讲解"Vue如何实现登录记住账号密码功能",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Vue如何实现登录记住账号密码功能"吧!实现思路用户登录
千家信息网最后更新 2024年11月25日Vue如何实现登录记住账号密码功能
本篇内容主要讲解"Vue如何实现登录记住账号密码功能",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Vue如何实现登录记住账号密码功能"吧!
实现思路
用户登录时若勾选"记住我"功能选项,则将登录名和密码(加密后)保存至本地缓存中,下次登录页面加载时自动获取保存好的账号和密码(需解密),回显到登录输入框中。
这里有三种方法来存储账号密码:
1. sessionStorage(不推荐)
1). 仅在当前会话下有效,关闭浏览器窗口后就被清除了
2). 存放数据大小一般为5MB
3). 不与服务器进行交互通信
2. localStorage
1). 除非主动清除localStorage里的信息,否则将永远存在,关闭浏览器窗口后下次启动任然存在
2). 存放数据大小一般为5MB
3). 不与服务器进行交互通信
3. cookies
1). 可以手动设置过期时间,超过有效期则失效。未设置过期时间,关闭浏览器窗口后就被清除了
2). 存放数据大小一般为4K
3). 每次请求都会被传送到服务器
这里主要介绍第二种和第三种的使用方法。
功能界面
记住我 忘记密码? 登录
记住账号密码功能的具体实现
密码加密
为提高安全性,密码存储前需进行加密处理。目前加密方式有很多种,我这里选用了base64。
npm安装base64依赖
//安装npm install --save js-base64//引入const Base64 = require("js-base64").Base64
localStorage
export default { data() { return { loginForm: { userId: "", password: "", }, checked: false, }; }, mounted() { let username = localStorage.getItem("userId"); if (username) { this.loginForm.userId = localStorage.getItem("userId"); this.loginForm.password = Base64.decode(localStorage.getItem("password"));// base64解密 this.checked = true; } }, methods: { submitForm(formName) { this.$refs[formName].validate((valid) => { if (valid) { /* ------ 账号密码的存储 ------ */ if (this.checked) { let password = Base64.encode(this.loginForm.password); // base64加密 localStorage.setItem("userId", this.loginForm.userId); localStorage.setItem("password", password); } else { localStorage.removeItem("userId"); localStorage.removeItem("password"); } /* ------ http登录请求 ------ */ } else { console.log("error submit!!"); return false; } }); }, },};
cookies
export default { data() { return { loginForm: { userId: "", password: "", }, checked: false, }; }, mounted() { this.getCookie(); }, methods: { submitForm(formName) { this.$refs[formName].validate((valid) => { if (valid) { /* ------ 账号密码的存储 ------ */ if (this.checked) { let password = Base64.encode(this.loginForm.password); // base64加密 this.setCookie(this.loginForm.userId, password, 7); } else { this.setCookie("", "", -1); // 修改2值都为空,天数为负1天就好了 } /* ------ http登录请求 ------ */ } else { console.log("error submit!!"); return false; } }); }, // 设置cookie setCookie(userId, password, days) { let date = new Date(); // 获取时间 date.setTime(date.getTime() + 24 * 60 * 60 * 1000 * days); // 保存的天数 // 字符串拼接cookie window.[xss_clean] = "userId" + "=" + userId + ";path=/;expires=" + date.toGMTString(); window.[xss_clean] = "password" + "=" + password + ";path=/;expires=" + date.toGMTString(); }, // 读取cookie 将用户名和密码回显到input框中 getCookie() { if ([xss_clean].length > 0) { let arr = [xss_clean].split("; "); //分割成一个个独立的"key=value"的形式 for (let i = 0; i < arr.length; i++) { let arr2 = arr[i].split("="); // 再次切割,arr2[0]为key值,arr2[1]为对应的value if (arr2[0] === "userId") { this.loginForm.userId = arr2[1]; } else if (arr2[0] === "password") { this.loginForm.password = Base64.decode(arr2[1]);// base64解密 this.checked = true; } } } }, },};
到此,相信大家对"Vue如何实现登录记住账号密码功能"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
密码
登录
账号
功能
加密
存储
大小
数据
方法
时间
服务器
浏览器
服务
浏览
有效
内容
天数
用户
学习
通信
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
如何进行数据库的安全管理
管理服务器的常用方式
网络安全策略毕业设计
租用云服务器部署web
30台电脑服务器
本地server配置数据库
数据库的事务可以再次划分吗
乐昌网络安全
奉贤区自动网络技术开发材料
滨州oa办公软件开发定制
环旧服灰烬使者服务器人口比例
万方数据库怎么加急件网
学吉他软件开发
erp数据库破解版下载
吉林正规软件开发价格有哪些
额尔古纳行业专业软件开发
服务器运维外包合同
网络技术挑战赛适合大一吗
数据库外键约束有什么用
深圳管理软件开发
ip访问服务器很慢
部队网络安全手绘海报图片
崇明区口碑好的软件开发不二之选
udp服务器连接
网络安全李秋香
增减材复合加工软件开发
主题数据库建设
电脑修数据库
单位网络安全自查表怎样填写
数据库外键约束有什么用