欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

问题

CAS之5.2x版本之中文返回值乱码问题-yellowcong

解决办法

设定编码为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;
}

解决后的效果,大家发现,不乱码了。
CAS之5.2x版本之中文返回值乱码问题-yellowcong

传统的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>

参考文章

http://blog.csdn.net/u012116457/article/details/53133052

相关标签: cas