CAS之5.2x版本之中文返回值乱码问题-yellowcong
程序员文章站
2022-03-08 20:10:33
...
乱码问题的解决,在cas的客户端解决,由于客户端配置
Cas30ProxyReceivingTicketValidationFilter
,没有配置cas的编码,走的是默认的编码,所以报错,需要指定encoding
。我做的是通过springboot配置的,如果是普通的web项目 ,那么需要配置web.xml,同样也是设置Cas30ProxyReceivingTicketValidationFilter
过滤器的编码。
代码地址
https://gitee.com/yellowcong/springboot_cas/tree/master/cas-server-multi/cas-client-springboot
问题
解决办法
设定编码为utf-8 ,同数据库的编码一致,就不会报错啦。
/**
* 过滤验证器
* @return
*/
@Bean
public FilterRegistrationBean filterValidationRegistration() {
FilterRegistrationBean registration = new FilterRegistrationBean();
registration.setFilter(new Cas30ProxyReceivingTicketValidationFilter());
// 设定匹配的路径
registration.addUrlPatterns("/*");
Map<String,String> initParameters = new HashMap<String, String>();
initParameters.put("casServerUrlPrefix", CAS_SERVER_URL_PREFIX);
initParameters.put("serverName", SERVER_NAME);
initParameters.put("useSession", "true");
initParameters.put("encoding", "UTF-8");
registration.setInitParameters(initParameters);
// 设定加载的顺序
registration.setOrder(1);
return registration;
}
解决后的效果,大家发现,不乱码了。
传统的web项目配置
传统web项目的解决返回值乱码的配置。
<!-- 单点登录验证过滤器 -->
<filter>
<filter-name>CAS Validation Filter</filter-name>
<filter-class>org.jasig.cas.client.validation.Cas30ProxyReceivingTicketValidationFilter</filter-class>
<!-- 配置单点登录的地址 -->
<init-param>
<param-name>casServerUrlPrefix</param-name>
<param-value>https://yellowcong.com:9000</param-value>
</init-param>
<!-- 这个服务的地址 -->
<init-param>
<param-name>serverName</param-name>
<param-value>http://yellowcong.com:8080/cas-client-maven</param-value>
</init-param>
<init-param>
<param-name>useSession</param-name>
<param-value>true</param-value>
</init-param>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
参考文章
推荐阅读
-
CAS之5.2x版本自定义返回消息-yellowcong
-
CAS之5.2x版本之OAuth2.0-yellowcong
-
CAS之5.2x版本之服务器开发调试(eclipse调试cas)-yellowcong
-
CAS之5.2x版本之服务管理-yellowcong
-
CAS之5.2x版本之Gitlab单点登录-yellowcong
-
CAS之5.2x版本之Confluence单点登录-yellowcong
-
CAS之5.2x版本之Jira单点登录-yellowcong
-
CAS之5.2x版本之客户端集成(Springboot)-yellowcong
-
CAS之5.2x版本之jdbc配置多返回值-yellowcong
-
CAS之5.2x版本之通过yml的方式配置cas-yellowcong