前端接入CAS单点登录后样式错乱怎么办?
我们项目最近接入了CAS做单点登录,登录跳转回来之后发现页面的CSS全乱了,布局完全错位。本地开发环境没问题,但一走CAS流程就出问题,是不是重定向过程中丢失了某些样式上下文?
我试过检查网络请求,CSS文件确实加载了,但渲染效果不对。比如下面这段基础样式:
body {
margin: 0;
font-family: 'Helvetica Neue', sans-serif;
background-color: #f5f5f5;
}
.container {
max-width: 1200px;
margin: 0 auto;
padding: 20px;
}
在CAS登录回调后,max-width 和 margin: 0 auto 好像没生效,容器直接贴左上角了。有谁遇到过类似情况吗?
?ticket=ST-xxx),浏览器解析相对路径时把这货当目录处理了。解决方法:检查你的HTML里CSS/JS引用,要么用绝对路径,要么加个
,要么让后端在回调时把ticket参数清掉再重定向。如果用的是类似 thymeleaf 这种模板引擎,引用改成
/css/xxx.css这种形式基本就能搞定。