解决cookie存储不进去本地

Cookie 是以字符串的形式存储在计算机浏览器中的,本身为 document 对象的属性。由于其自身存储数据的限制与缺陷,一般不建议使用。

ookie 的创建

// 创建cookie 
	document.cookie = 'name=value';

如此,一个 cookie 数据就创建成功了。效果如下:

Cookie创建成功后,须在本地服务器下的Application中查看

在这里插入图片描述

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<head>
<script>
function setCookie(cname,cvalue,exdays){
	var d = new Date();
	d.setTime(d.getTime()+(exdays*24*60*60*1000));
	var expires = "expires="+d.toGMTString();
	document.cookie = cname+"="+cvalue+"; "+expires;
}
function getCookie(cname){
	var name = cname + "=";
	var ca = document.cookie.split(';');
	for(var i=0; i<ca.length; i++) {
		var c = ca[i].trim();
		if (c.indexOf(name)==0) { return c.substring(name.length,c.length); }
	}
	return "";
}
function checkCookie(){
	var user=getCookie("username");
	if (user!=""){
		alert("欢迎 " + user + " 再次访问");
	}
	else {
		user = prompt("请输入你的名字:","");
  		if (user!="" && user!=null){
    		setCookie("username",user,30);
    	}
	}
}
</script>
</head>
	
<body onload="checkCookie()"></body>
	
</html>

有一个前提–必须要启动终端服务器,不然cookie存不进去

方式一、可以通过live serve插件

方式二、
chrome 91升级后localhost本地站点cookie无法保存问题解决

总结

Cookie就是一些数据,用于存储服务器返回给客服端的信息,客户端进行保存。在下一次访问该网站时,客户端会将保存的cookie一同发给服务器,服务器再利用cookie进行一些操作。利用cookie我们就可以实现自动登录,保存游览历史,身份验证等功能。

### 若依系统登录失败的原因及解决方案 若依系统的登录功能涉及前端页面、后端接口以及数据库等多个模块。以下是可能导致登录失败的一些常见原因及其对应的解决方案: #### 1. 数据库连接异常 若依系统依赖于数据库存储用户信息和其他配置数据。如果数据库连接出现问题,则可能引发登录失败。 - **原因**: 数据库服务未启动、数据库用户名或密码错误、JDBC URL 配置有误,或者时区设置当[^4]。 - **解决方案**: - 检查 `application.yml` 或 `application.properties` 文件中的数据库配置是否正确。 - 如果是因为时区问题导致的连接失败,可以在 JDBC URL 后面添加参数 `serverTimezone=GMT%2B8` 来匹配中国标准时间。 ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/ruoyi?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8 username: root password: your_password_here ``` --- #### 2. 用户凭证校验失败 用户的账号或密码输入错误,或者是后台逻辑未能正确处理认证请求。 - **原因**: 用户名或密码被修改但未同步更新;加密算法一致(如 MD5 和 SHA-256 的混淆)。 - **解决方案**: - 确认前台传递的数据与后台保存的一致。 - 检查 `SysUserServiceImpl.java` 中关于密码加解密的部分,确保前后端使用相同的哈希方式。 ```java // 示例代码片段:检查密码一致性 if (!passwordService.matches(user.getPassword(), userDto.getPlainPassword())) { throw new UserPasswordNotMatchException(); } ``` --- #### 3. Token 认证失效 若依系统基于 JWT 实现了身份验证机制。Token 过期或签名验证失败都会阻止用户成功登录。 - **原因**: 客户端缓存的 Token 已过期,或者秘钥配置发生变更。 - **解决方案**: - 调整 `jwt.secret`, `jwt.expiration` 参数以延长有效期并重新签发新的 Token。 - 清理浏览器 Cookie本地存储中的旧 Token 并尝试再次登录。 ```properties # application.yml 中的相关配置项 jwt: secret: your_jwt_secret_key expiration: 7200 # 单位秒,默认两小时有效 ``` --- #### 4. 缺少必要的权限 即使通过了初步的身份验证,某些情况下仍会因为缺少特定角色而导致跳转到错误页面。 - **原因**: 当前账户具备访问目标资源所需的最低权限级别。 - **解决方案**: - 查看日志文件定位具体缺失哪个菜单节点授权; - 给该用户分配适当的角色组使其拥有足够的操作许可权限。 --- #### 5. 外部服务可用 部分场景下,第三方组件比如 Redis 缓存层、邮件通知插件等也可能间接影响整个流程顺利完成。 - **原因**: 如引用中提到的网络波动干扰到了跨域调用微信扫码登录的情况一样[^2]。 - **解决方案**: - 测试当前机器能否 ping 到远程地址确认连通状况良好后再继续排查其他潜在隐患点。 --- ### 总结 综上所述,针对同类型的障碍采取相应的调试手段可以有效地缩小范围直至最终修复问题所在之处。务必保持良好的编码习惯同时做好详尽的日志记录以便后续维护工作更加便捷高效!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值