假如我的电脑ip为192.168.6.110,我的电脑名为netfly
那么,在生成证书的时候,就不能输入localhost,只能输入netfly,在其他电脑上,一样可以通过ip访问我的服务。比如说,输入
http://192.168.6.110:8080/YaleCASTest/hello.jsp
http://192.168.6.110:8080/YaleCASTest/servlet/RequestInfo
都可以返回正确的信息,不过,web.xml也要改改,如下:
- <filter>
- <filter-name>CASFilter</filter-name>
- <filter-class>edu.yale.its.tp.cas.client.filter.CASFilter</filter-class>
- <init-param>
- <param-name>edu.yale.its.tp.cas.client.filter.loginUrl</param-name>
- <param-value>https://netfly:8443/cas/login</param-value>
- </init-param><!--这里的server是服务端的IP-->
- <init-param>
- <param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name>
- <param-value>https://netfly:8443/cas/proxyValidate</param-value>
- </init-param><!--这里的serName是服务端的主机名,而且必须是-->
- <init-param>
- <param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name>
- <param-value>netfly:8080</param-value><!--client:port就是需要CAS需要拦截的地址和端口,一般就是这个TOMCAT所启动的IP和port-->
- </init-param>
- </filter>
2,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命名写着abc.com,192.168.1.111这个IP是无法被CAS Client识别。































解决办法:
用域名访问,域名就是证书的CN。
posted on 2006-09-05 18:20 david.turing 阅读(985) 评论(1) 编辑 收藏 引用 所属分类: Security异常问题