WebSphere服务器学习记录(一)之was HttpOnly设置

- 前言
最近遇到个was环境下安全性方面的问题,需要后台返回给前端页面的cookie设置为HttpOnly属性,一开始was方面的知识比较匮乏,手动在项目代码拦截器里设置response.setHeader(“Set-Cookie”,“JSESSIONID=${value};HttpOnly”),发现几个问题。
①发现后台Session对象的属性Id和前端发送请求携带的JESSIONID值有出入,JESSIONID对比Session对象ID多了前缀后缀WebSphere服务器学习记录(一)之was HttpOnly设置_第1张图片
第一个为Session Id值,第二个为页面cookie中的JESSIONID,可以发现首部多了4位数字,后缀其实还有个:-1我这里没有完整截图,tomcat下部署的项目则没有这个问题,Session Id和JESSIONID值相等,无法确认是was的问题还是spring-security的问题(项目中有用这个框架)
②获取到请求的Cookies值遍历重新设置HttpOnly后,下次请求会带cookie两个相同的key-value,虽然设置上了HttpOnly,但是第一次由于是不带任何cookie的,JESSIONID返回时不带HttpOnly的。
这两个问题一会没弄明白,希望懂得人看到后能够留言帮忙解惑

- 最终解决方法
最终从一篇CSDN问答中找到解决方案,附上链接https://bbs.csdn.net/topics/390706141
现记录步骤如下:
1.Application servers->server1->session management->勾选enable cookies->enable cookies->勾选Restrict cookies to HTTPS sessions
2.Applicjation servers->server1->Web container->Custom properties->点解new->设置name: com.ibm.ws.webcontainer.httpOnlyCookies 设置value: JESSIONID
3.保存设置,重启服务器

相关截图:
WebSphere服务器学习记录(一)之was HttpOnly设置_第2张图片
WebSphere服务器学习记录(一)之was HttpOnly设置_第3张图片
WebSphere服务器学习记录(一)之was HttpOnly设置_第4张图片
WebSphere服务器学习记录(一)之was HttpOnly设置_第5张图片
WebSphere服务器学习记录(一)之was HttpOnly设置_第6张图片
WebSphere服务器学习记录(一)之was HttpOnly设置_第7张图片
WebSphere服务器学习记录(一)之was HttpOnly设置_第8张图片

你可能感兴趣的:(后端)