cas的幾個誤區

調試了一上午,搞定了,這裏做個記錄。

1.錯誤:unable to find valid certification path to requested target

這個錯誤是說找不到證書,而很多人都確認自己確實導入了證書,我也是。這就可以從下面兩點去排錯:

  1. 如果你更新了cas server的證書信息,那麼請重啓cas server,不然無論你在client端怎麼處理,它還是報這個錯;
  2. 確保你使用keytool 命令import的路徑是eclipse所使用的jre中,很多電腦中有多個jre,自己要確保你導入的確實是eclipse所使用的那個jre中;
經過以上兩個排錯,問題基本可以排除了。

2。錯誤:No subject alternative names present

這個錯誤是我們導入了證書,但是這個證書卻不能被正確的識別。這就要回到我們在使用keytool  命令genkey的時候了,命令如下:

keytool -genkey -alias tomcat -keyalg RSA -keystore d:\cskeys -dname  -storepass changeit

然後提示我們要輸CN 城市,國家等等信息,這裏最重要的是CN這個值,經我的實驗,這個值不要使用IP地址也不要使用localhost(如果你僅僅是在本機測試那可以),推薦使用域名(可是一般人沒有),那就使用主機名,我使用主機名一切工作正常。


關於cas client端的配置文件的說明,常用的配置文件如下(指的是涉及到地址的配置):

<filter>
		<filter-name>CASFilter</filter-name>
		<filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class>
		<init-param>
			<param-name>casServerLoginUrl</param-name>
			<param-value>https://hfut:8443/cas/login</param-value>
			<!--這裏的server是服務端的IP -->
		</init-param>
		<init-param>
			<param-name>serverName</param-name>
			<param-value>http://acer:8080/</param-value><!--注意:這裏使用的一定是cas client的地址,這也是cas server返回的地址>
		</init-param>
	</filter>
	<filter-mapping>
		<filter-name>CASFilter</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping>

	<!-- 該過濾器負責對Ticket的校驗工作,必須啓用它 -->
	<filter>
		<filter-name>CAS Validation Filter</filter-name>
		<filter-class>
			org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter</filter-class>
		<init-param>
			<param-name>casServerUrlPrefix</param-name>
			<param-value>https://hfut:8443/cas</param-value>
		</init-param>
		<init-param>
			<param-name>serverName</param-name>
			<param-value>http://acer:8080/</param-value><!--同上-->
		</init-param>
	</filter>

上面兩處最重要的地方就是serverName的值了,這個值是cas server認證成功後返回的值,所以這裏一定要設置成你的應用的地址,級cas client的地址。


ps:區別下cas server和cas client。

cas server不用說,大家都很清楚,關鍵是這個cas client,特別注意,這個client是針對cas server說的。而實際上,cas client是集成到某個應用服務器的,也就是說它是被cas server認證的應用,只有通過了cas server的認證,這個應用(即client)就可以被訪問了。這個client對用戶而言就是server了,即我們通常意義上的應用服務器。

發佈了180 篇原創文章 · 獲贊 18 · 訪問量 21萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章