登陸名如果用中文的話(huà),會(huì)出現(xiàn)亂碼,導(dǎo)致無(wú)法驗(yàn)證通過(guò)。解決中文問(wèn)題無(wú)非就是編碼問(wèn)題,其中需要轉(zhuǎn)換編碼的有以下幾個(gè)地方.
第一,在Web.xml文件里加上Filter,對(duì)所有頁(yè)面進(jìn)行一次編碼轉(zhuǎn)換.
下面是EncodingFilter類(lèi):
第二步,修改CAS登陸驗(yàn)證頁(yè)面的編碼,如果你沒(méi)換過(guò)這個(gè)主題的話(huà),默認(rèn)的是修改WEB-INF\view\jsp\default\ui\casLoginView.jsp文件,在最上面加上<%@ page pageEncoding="gb2312"%>。這里要特別注意一下,這個(gè)頁(yè)面的編碼要和上面XML文件里寫(xiě)的編碼一致。
第三步,修改驗(yàn)證成功后做跳轉(zhuǎn)的頁(yè)面。也就是WEB-INF\view\jsp\protocol\2.0\casServiceValidationSuccess.jsp文件,在最上面加上<%@ page pageEncoding="UTF-8"%>。這里特別注意的是這個(gè)頁(yè)面的編碼要和你跳轉(zhuǎn)過(guò)去的那個(gè)頁(yè)面的編碼一致,換句話(huà)說(shuō),客戶(hù)端的驗(yàn)證頁(yè)面的編碼要和這個(gè)地方的一致,不一致的話(huà),要轉(zhuǎn)換一下。
經(jīng)過(guò)這三步之后,理論上講就已經(jīng)可以驗(yàn)證通過(guò)了。
眼鏡蛇
posted on 2009-07-12 13:02 眼鏡蛇 閱讀(2894) 評(píng)論(1) 編輯 收藏 所屬分類(lèi): Java 、Liferay 、SSO
感覺(jué)很羅嗦的。CAS默認(rèn)是UTF-8編碼,可以不添加Filter,原CAS頁(yè)面也可以保持不變。唯一需要變化的是WEB-INF\view\jsp\protocol\2.0\casServiceValidationSuccess.jsp需要和跳轉(zhuǎn)過(guò)去的那個(gè)頁(yè)面的編碼一致。添加:pageEncoding="UTF-8" 或 pageEncoding="GBK" 根據(jù)實(shí)際情況而定。 回復(fù) 更多評(píng)論
Powered by: BlogJava Copyright © 眼鏡蛇