首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

Tomcat中调度CAS

2012-06-26 
Tomcat中部署CAS先部署CAS服务端?1.部署CAS服务器的WAR包将cas-server-3.4.11-release.zip解压缩,把module

Tomcat中部署CAS

先部署CAS服务端

?

1.部署CAS服务器的WAR包

将cas-server-3.4.11-release.zip解压缩,把modules文件夹中的cas-server-webapp-3.4.11.war

文件拷贝到<TOMCAT_HOME>/webapps/下,改名为cas(这里的名字只是一种习惯,当然可以改成其他或不改),然后启动服务器,其会自动解压。

?

2. 修改CAS登录的用户库

CAS的默认设置是只要用户名和密码相同,即可进行登录成功,真正的系统用户名和密码相同的可能性极小,所以我们需要修改默认的设置。

主要的修改在deployerConfigContext.xml文件里

位置:<TOMCAT_HOME>/webapps/cas/WEB-INF。

?

首先找到

<bean />

?

注释该行,加入下面的bean,这里bean的class属性用到的是CAS服务器端封装的JDBC包cas-server-jdbc-3.0.5.jar里的QueryDatabaseAuthenticationHandler方法,所以要将此包拷贝到/WEB-INF下的lib中。(还需要将mysql-connector-java-5.1.14-bin.jar放到/WEB-INF下的lib中)

这里sql属性是从clientuser表中根据cas登陆名查找密码。

dataSource属性需要再添加一个bean,如下:

?

?3.在客户端访问http://localhost:8080/CasClient1/servlet/Test,第一次会跳转到cas服务器端进行用户名和密码的输入,以后就不用输入密码了。

?

?

问题汇总:

?

?严重: edu.yale.its.tp.cas.client.CASAuthenticationException: Unable to validate ProxyTicketValidator [[edu.yale.its.tp.cas.client.ProxyTicketValidator prox

yList=[null] [edu.yale.its.tp.cas.client.ServiceTicketValidator casValidateUrl=[https://192.168.1.111:8443/cas/proxyValidate] ticket=[ST-0-9h7Mx5HK3pfsdxRv

MD3y] service=[http%3A%2F%2F192.168.1.222%3A8080%2Fservlets-examples%2Fservlet%2FHelloWorldExample] renew=false]]]

这个CAS异常是从CAS Client里面抛出,是当我们不使用证书的CN去访问域名的时候(比如下文是用IP访问而且证书的CN是该IP对应的域名而非该IP),CASClient无法信任,也就是我上面特意提到的那个CN的问题。要特别注意。我这里的CN=wujay-PC?

?

INFO [org.jasig.cas.authentication.AuthenticationManager

Impl] - <AuthenticationHandler: cn.com.tiansky.cas.authenticationHandlers.UPAuthenticationHandler successfully authenticated the user which provided the followi

ng credentials: [username: test]>

就种错误,可能是客户端的那个配置文件里写的不太对。也就是上面说的第五步,要多注意一下。?

?

java.io.IOException: Cannot recover key

? ? ? ? at org.apache.tomcat.util.net.jsse.JSSE14SocketFactory.init(JSSE14Socket

Factory.java:125)

? ? ? ? at org.apache.tomcat.util.net.jsse.JSSESocketFactory.createSocket(JSSESo

cketFactory.java:88)

? ? ? ? at org.apache.tomcat.util.net.PoolTcpEndpoint.initEndpoint(PoolTcpEndpoi

nt.java:292)

? ? ? ? at org.apache.coyote.http11.Http11BaseProtocol.init(Http11BaseProtocol.j

ava:138)

? ? ? ? at org.apache.catalina.connector.Connector.initialize(Connector.java:101

?

这种错误,可能是你生成的证书有问题,如果keypass和storepass的密码不一致也会把这个错(不知为什么非要设成一样的)

热点排行