Session问题

Session问题

应用A:模块应用
应用B:登录应用,使用spring-security
本地开发,A,B都使用同一个域名。

问题1:只启动B,成功登录B后得到授权,访问B的其他页面正常;有启动A,成功登录B后得到授权,访问B的其他页面不正常会跳转到登录页。

原因:
1)使用spring-security默认的SecurityContextRepository,使用session获得认证授权信息。因为A,B使用同一个域名,导致session的cookie JSESSIONID被覆盖。所以再次访问B时,根据session找不到认证信息于是就调整到登录页。

2)有使用document.domain设置域名,使得浏览器访问A、B应用时留下的cookie被同父级域名其他应用的cookie覆盖,导致后台验证运算出错。

3)页面使用JSONP时,JSONP访问的应用也会把JSESSIONID写到当前页的cookie里,这是就有2个JSESSIONID但是域不一样。

你可能感兴趣的:(Session问题)