【cookie的流中的UID和本地的不一致 _会话管理 】 | IT修真院·坑乎
咨询电话 : 010-59478634
切换导航
首页
我的提问
我的回答
我的点赞
消息通知
个人主页
×
提示
尚未登陆,前往官网登陆?
×
提示
尚未登陆,前往官网登陆?
cookie的流中的UID和本地的不一致
我也踩过这个坑(
1
)
已统计您的踩坑,无需重复点击
回答(1)
会话管理
详细描述
将cookie的生成放到service部分后,使用rmi,service生成cookie后,client端获取时,出现cookie反序列话UID不同的问题
错误截图
cookie,正反序列化时的UID不一致
源码
<textarea disabled="disabled" class="code" style="height: 440px; overflow-y: hidden;" _initadjustheight="80">@Override public Cookie getCookie(String userName) throws Exception { User user = studentService.findNameUser(userName); Long id = user.getUserId(); // 使用用户ID+系统当前时间生成唯一token, 格式为键值对 String token = id + "|" + id + "|" + System.currentTimeMillis(); logger.info("生成的token是:"+token); // 用DES加密key 必须8位 byte[] bytes = DESUtil.encrypt(token,skey); logger.info("加密后的token: " + DESUtil.toHexString(bytes).toUpperCase()); logger.info("加密后的Base64 token: " + Base64.encodeBase64String(bytes)); //org.apache.commons.codec.binary.Base64;依赖包 Cookie cookie = new Cookie("token",Base64.encodeBase64String(bytes)); // 设置 Cookie 过期时间 单位为秒 cookie.setMaxAge(7000); // 设置 Cookie 有效路径 cookie.setPath("/"); logger.info("新生成的Cookie-效时间-值: " + cookie.getName() + "-->" + cookie.getMaxAge() + "-->" + cookie.getValue() + cookie.getPath()); return cookie; }
编辑于2025-05-13
时间排序
热门排序
[郑州|结业弟子]JAVA-李雨航
0
你这个问题应该是service端实体类实现序列化的UID和你的client端的实体类UID数值不一样造成的吧;这两个序列化数值必须是相同的,这就像游戏上的一个阵营一样,结果一个是蜀国,一个是魏国,肯定会出错了这个UID也不用搞那么麻烦,赋值为1L就行了
查看全部>
编辑于2019-03-22
首页
1
末页
去第
页
确定
Copyright ©2015 北京葡萄藤信息技术有限公司 All Rights Reserved | 京ICP备15035574号-1
复制链接
新浪微博
微信扫一扫