发表于: 2017-08-23 22:30:29
1 1068
今天:解决了登陆接口的最后一个bug(希望是)。浏览器登陆成功后,可以正常保存Cookie;前端页面登录成功后,无法保存带有JSESSIONID的Cookie,因此每次请求服务器都会建立一个新的session,自然无法做登录之后的验证。
一开始以为是前端的问题,以为是前端把cookie给整没了,后来发现错怪了前端,cookie的问题完全是后端,前端对cookie是不进行操作的。
后来发现,前端页面在使用公共接口时,JSESSIONID的cookie是可以正常保存的,所以可以假设问题出在自己的cookie上。
经过仔细观察,自己的cookie多了一个path属性,path属性规定了服务器路径,客户端浏览器很可能就是因为这个path路径不符(可能和Nginx代理有关),就把cookie没带在请求头里面。
在shiro中通过debug,找到了往cookie里面加path的代码,把它注掉了。然后问题就解决了。
}
Cookie也有其他的一些参数:
参数 | 描述 |
name | 必需。规定 cookie 的名称。 |
value | 必需。规定 cookie 的值。 |
expire | 可选。规定 cookie 的有效期。 |
path | 可选。规定 cookie 的服务器路径。 |
domain | 可选。规定 cookie 的域名。 |
secure | 可选。规定是否通过安全的 HTTPS 连接来传输 cookie。 |
2.对接口进行了一定的修改,加入了一些非空判断,加入了一些注释,修改了和前端要求不符的接口,将自定义的JSON实体类整合成一个,减少代码量。将去重方法改成stream(),不需要用set了。
List<Long> uniqueIdList = idList.stream().distinct().collect(Collectors.toList());
明天:测试完接口后,开始内部codereview,拆分模块,然后让师兄codereview。
问题:无
总结:无
进度:http://task.ptteng.com/zentao/project-task-277.html
评论