一、问题出现
springboot项目中集成了cas,清除缓存,想要跳到登陆页面,但是由于地址栏中带有jessionId标识,导致无法正常跳转。
Jsessionid只是tomcat的对sessionid的叫法,其实就是sessionid;在其它的容器也许就不叫jsessionid了
原因: 首先这是一个保险措施 因为Session默认是需要Cookie支持的,但有些客户浏览器是关闭Cookie的,所以在这个时候就需要在URL中指定服务器上的session标识,每当用户第一次访问页面的时候,后端获取的地址是包含 jsessionid参数,这样拼接 静态资源或者A标签或Form的地址的时候链接后面就会跟上jessionId参数,访问相关页面404.
二、解决办法
2.1 启动类增加配置
启动类继承SpringBootServletInitializer,重写onStartup方法。强制会话跟踪为cookie而不是jessionId的方式。
@SpringBootApplication
@EnableCasClient // 启动CAS
@EnableScheduling
@MapperScan("com.gisquest.perfassess.dao")
public class GisqPerformanceApplication extends SpringBootServletInitializer