html5使用localStorage实现记住登录状态 html5使用自动登录功能的逻辑

登录时若勾选“记住我”,将token和过期时间存入localStorage;2. 页面加载时检查token有效性,未过期则请求验证并自动跳转主页;3. 退出时清除存储数据。核心是通过localStorage持久化凭证实现自动登录,需注意XSS风险与敏感信息保护。

html5使用localstorage实现记住登录状态 html5使用自动登录功能的逻辑

实现“记住登录状态”和“自动登录”功能,核心是利用 HTML5 的 localStorage浏览器中持久保存用户身份信息。以下是清晰的逻辑与实现方式。

1. 登录时保存用户信息(记住我)

当用户勾选“记住我”并成功登录后,将必要的登录凭证(如 token、用户名、过期时间等)存入 localStorage。

通常保存的是 token 而非密码,更安全可附加一个过期时间戳,控制自动登录的有效期

示例代码:

// 模拟登录成功后if (rememberMe.checked) {  const token = response.token;  const expires = Date.now() + 7 * 24 * 60 * 60 * 1000; // 7天后过期  localStorage.setItem('authToken', token);  localStorage.setItem('authExpires', expires);}

2. 页面加载时检查是否自动登录

在进入登录页或首页时,读取 localStorage 中的登录信息,判断是否有效,决定是否跳过登录页。

立即学习“前端免费学习笔记(深入)”;

检查是否存在 token验证 token 是否过期若有效,调用接口验证 token 合法性,获取用户信息自动跳转到主页

示例代码:

function autoLogin() {  const token = localStorage.getItem('authToken');  const expires = localStorage.getItem('authExpires');

if (!token || !expires) return false;

if (Date.now() > parseInt(expires)) {// 已过期,清除clearAuthData();return false;}

// 请求服务器验证 tokenfetch('/api/verify', {method: 'POST',headers: { 'Authorization': Bearer ${token} }}).then(res => res.json()).then(data => {if (data.valid) {// 自动登录成功,跳转主页window.location.href = '/dashboard';} else {clearAuthData();}}).catch(() => clearAuthData());}

function clearAuthData() {localStorage.removeItem('authToken');localStorage.removeItem('authExpires');}

3. 退出登录时清除数据

用户点击“退出”时,必须清除 localStorage 中的认证信息,确保安全。

function logout() {  clearAuthData();  window.location.href = '/login';}

注意事项:

localStorage 不是绝对安全的存储方式,容易受到 XSS 攻击。敏感信息建议只存 token,并配合 HttpOnly Cookie 存储更关键的会话标识。自动登录适用于低风险系统,高安全场景应使用更严格的机制。

基本上就这些。不复杂但容易忽略细节。

以上就是html5使用localStorage实现记住登录状态 html5使用自动登录功能的逻辑的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1587513.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月23日 03:29:37
下一篇 2025年12月23日 03:29:51

相关推荐

发表回复

登录后才能评论
关注微信