`
xuguohua
  • 浏览: 8698 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

CAS 自定义用户信息中文乱码的解决

阅读更多

CAS3.4.10版本自定义用户信息中有中文,比如姓名,修改如下:

1、部署web服务目录下的:cas3.4.10\WEB-INF\view\jsp\protocol\2.0\casServiceValidationSuccess.jsp的编码为 GBK:

<%@ page contentType="text/html; charset=GBK"%>

 

2、 在  <cas:authenticationSuccess> 节点内,增加自定义字段的输出:

  <cas:user>${fn:escapeXml(assertion.chainedAuthentications[fn:length(assertion.chainedAuthentications)-1].principal.id)}</cas:user>
  <c:if test="${fn:length(assertion.chainedAuthentications[fn:length(assertion.chainedAuthentications)-1].principal.attributes) > 0}"> 
      <cas:attributes> 
       <c:forEach var="attr" items="${assertion.chainedAuthentications[fn:length(assertion.chainedAuthentications)-1].principal.attributes}"> 
      <cas:${fn:escapeXml(attr.key)}>${fn:escapeXml(attr.value)}</cas:${fn:escapeXml(attr.key)}> 
     </c:forEach> 
    </cas:attributes> 
  </c:if> 

 

3、如果启用代理模式,再增加:

  <c:if test="${not empty pgtIou}">
    <cas:proxyGrantingTicket>${pgtIou}</cas:proxyGrantingTicket>
  </c:if>

4、在客户端的web.xml的    <filter-name>CAS Validation Filter</filter-name>  节点内,增加:

    </init-param>
 <param-name>encoding</param-name>
      <param-value>GBK</param-value>
    </init-param>

0
1
分享到:
评论
1 楼 masuweng 2016-07-13  
cas的全局作用,及能给给完整的cas的项目吗?正在正研究cas。

相关推荐

    CAS单点登录学习总结

    解决 CAS 服务端用户登录时中文请求乱码的方案是利用 Spring 框架提供的编码过滤功能。在 Spring 的配置文件中添加相应的 Filter,设置正确的字符编码,例如 UTF-8,以确保请求参数正确解码。 其次,中文传输乱码...

    java中文乱码分析

    ### Java中文乱码分析 #### 一、概述 在Java Web开发中,中文乱码问题是一个常见的技术难题,尤其在处理HTTP...通过上述分析和建议,我们可以有效地解决Java Web应用中的中文乱码问题,提高系统的稳定性和用户体验。

    cas单点登陆带attribute客户端示例程序

    CAS(Central Authentication Service)是基于Java的开源身份验证框架,用于实现单一登录...通过研究和调整这个示例,开发者可以快速地将CAS集成到自己的Java应用中,同时处理中文属性,提高应用的安全性和用户体验。

    cas单点登录详尽的配置文档

    此文档自己亲手从0开始一步一步配置的详尽过程,其中包括keytool创建 、ticket、tomcat配置cas、自定义登录页面,处理服务器返回的乱码,服务退出、cas服务器返回多数据等等文档

    sso单点登录之cas配置全过程

    此文档自己亲手从0开始一步一步配置的详尽过程,其中包括keytool创建 、ticket、tomcat配置cas、自定义登录页面,处理服务器返回的乱码,服务退出、cas服务器返回多数据等等文档 包括SSO原理图,以及认证流程图等

    Java面试要点(适用于2年以上经验,1年亦可)

    1. 解决乱码问题、常用编码方式 语法糖 1. Java 中语法糖原理、解语法糖 并发编程 1. 什么是线程,与进程的区别 2. 阅读源代码,并学会使用Thread、Runnable、Callable、ReentrantLock、ReentrantReadWriteLock...

    java必读书籍

    - **编码方式:** 解决乱码问题,了解不同的编码方式。 - **语法糖:** Java语言中的简化语法特性。 - **Java并发编程:** - **线程:** 进程与线程的区别。 - **Thread、Runnable、Callable:** 多线程编程的...

Global site tag (gtag.js) - Google Analytics