配置 JAVA 客户端

简介: 一、部署  1、添加客户端到你的项目中            ·手动下载下载cas-client,地址:http://www.ja-sig.org/downloads/cas-clients/,然后解压cas-client-3.1.12.zip,在modules文件夹中有需要的jar包,                         请根据自己的项目情况选择使用,把相应的jar包放到你项目WEB-INF/lib下。

一、部署

  1、添加客户端到你的项目中

            ·手动下载下载cas-client,地址:http://www.ja-sig.org/downloads/cas-clients/,然后解压cas-client-3.1.12.zip,在modules文件夹中有需要的jar包,                         请根据自己的项目情况选择使用,把相应的jar包放到你项目WEB-INF/lib下。

             我使用的是 cas-client-3.2.1-release ,需要拷贝如下的包到指定目录下:

cas-client-core-3.2.1

cas-client-integration-tomcat-v7-3.2.1 

commons-logging-1.1

commons-codec-1.4


             ·使用maven

                              

[html]  view plain copy
  1. <!-- cas -->  
  2. <dependency>  
  3.     <groupId>org.jasig.cas.client</groupId>  
  4.     <artifactId>cas-client-core</artifactId>  
  5.     <version>3.1.12</version>  
  6. </dependency>  

二、配置

在客户端项目的web.xml配置过滤器

                        

[html]  view plain copy
  1. <!-- ======================== 单点登录开始 ======================== -->  
  2.     <!-- 用于单点退出,该过滤器用于实现单点登出功能,可选配置 -->  
  3.     <listener>  
  4.         <listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class>  
  5.     </listener>  
  6.   
  7.     <!-- 该过滤器用于实现单点登出功能,可选配置。 -->  
  8.     <filter>  
  9.         <filter-name>CAS Single Sign Out Filter</filter-name>  
  10.         <filter-class>org.jasig.cas.client.session.SingleSignOutFilter</filter-class>  
  11.     </filter>  
  12.     <filter-mapping>  
  13.         <filter-name>CAS Single Sign Out Filter</filter-name>  
  14.         <url-pattern>/*</url-pattern>  
  15.     </filter-mapping>  
  16.   
  17.     <!-- 该过滤器负责用户的认证工作,必须启用它 -->  
  18.     <filter>  
  19.         <filter-name>CASFilter</filter-name>  
  20.         <filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class>  
  21.         <init-param>  
  22.             <param-name>casServerLoginUrl</param-name>  
  23.             <param-value>https://www.travel.com:8443/cas/login</param-value>  
  24.             <!--这里的server是服务端的IP -->  
  25.         </init-param>  
  26.         <init-param>  
  27.             <param-name>serverName</param-name>  
  28.             <param-value>http://www.travel.com:8080</param-value><span style="color:#FF0000;"> ①</span>  
  29.         </init-param>  
  30.     </filter>  
  31.     <filter-mapping>  
  32.         <filter-name>CASFilter</filter-name>  
  33.         <url-pattern>/*</url-pattern>  
  34.     </filter-mapping>  
  35.   
  36.     <!-- 该过滤器负责对Ticket的校验工作,必须启用它 -->  
  37.     <filter>  
  38.         <filter-name>CAS Validation Filter</filter-name>  
  39.         <filter-class>  
  40.             org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter</filter-class>  
  41.         <init-param>  
  42.             <param-name>casServerUrlPrefix</param-name>  
  43.             <param-value>https://www.travel.com:8443/cas</param-value>  
  44.         </init-param>  
  45.         <init-param>  
  46.             <param-name>serverName</param-name>  
  47.             <param-value>http://www.travel.com:8080</param-value>  <span style="color:#FF0000;"></span>  
  48.         </init-param>  
  49.     </filter>  
  50.     <filter-mapping>  
  51.         <filter-name>CAS Validation Filter</filter-name>  
  52.         <url-pattern>/*</url-pattern>  
  53.     </filter-mapping>  
  54.   
  55.     <!-- 该过滤器负责实现HttpServletRequest请求的包裹, 比如允许开发者通过HttpServletRequest的getRemoteUser()方法获得SSO登录用户的登录名,可选配置。 -->  
  56.     <filter>  
  57.         <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>  
  58.         <filter-class>  
  59.             org.jasig.cas.client.util.HttpServletRequestWrapperFilter</filter-class>  
  60.     </filter>  
  61.     <filter-mapping>  
  62.         <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>  
  63.         <url-pattern>/*</url-pattern>  
  64.     </filter-mapping>  
  65.   
  66.     <!-- 该过滤器使得开发者可以通过org.jasig.cas.client.util.AssertionHolder来获取用户的登录名。 比如AssertionHolder.getAssertion().getPrincipal().getName()。 -->  
  67.     <filter>  
  68.         <filter-name>CAS Assertion Thread Local Filter</filter-name>  
  69.         <filter-class>org.jasig.cas.client.util.AssertionThreadLocalFilter</filter-class>  
  70.     </filter>  
  71.     <filter-mapping>  
  72.         <filter-name>CAS Assertion Thread Local Filter</filter-name>  
  73.         <url-pattern>/*</url-pattern>  
  74.     </filter-mapping>  
  75.   
  76.     <!-- ======================== 单点登录结束 ======================== -->  

三、常见错误:

错误1、

                           

         若出现以上错原因是:你在客户端的web.xml中①,②的配置有误。


问题2、

                         

[plain]  view plain copy
  1. javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException:   
  2. PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException:   
  3. unable to find valid certification path to requested target  

 若出现次错误是有与你客户端的证书有问题。重新导入你证书。

相关链接: http://www.jyothis.co.in/2011/11/12/javax-net-ssl-sslhandshakeexception/


问题3:TOMCAT 严重: Error filterStart

缺少必要的 jar 包,要是 tomcat 支持 cas-client,需要如下jar 包:

cas-client-core-3.2.1
cas-client-integration-tomcat-v7-3.2.1 
commons-logging-1.1
commons-codec-1.4


问题4:(windows xp已导入证书) 严重: java.security.cert.CertificateException: No name matching ctsso.zte.com.cn found
javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No name matching ctsso.zte.com.cn found

This happens because, quoting from lots of places out there:

Java by default verifies that the certificate CN (Common Name) is the same as host name in the URL. If the CN in the certificate is not the same as the host name, your web service client fails.

翻译过来就是: 制作证书时,输入的 CN 名称必须和 URL的主机域名 一样(java的默认验证规则),否则就会出现上述错误

参考资料: http://bluefoot.info/howtos/how-to-avoid-java-security-cert-certificateexception-no-name-matching-localhost-found/



目录
相关文章
|
29天前
|
Java 数据库连接 数据库
hibernate正向生成数据库表以及配置——TestStu.java
hibernate正向生成数据库表以及配置——TestStu.java
16 1
|
29天前
|
Java 数据库连接 数据库
hibernate正向生成数据库表以及配置——Teacher.java
hibernate正向生成数据库表以及配置——Teacher.java
11 0
|
29天前
|
Java 数据库连接 数据库
hibernate正向生成数据库表以及配置——Student.java
hibernate正向生成数据库表以及配置——Student.java
10 0
|
3天前
|
Java API Apache
ZooKeeper【基础 03】Java 客户端 Apache Curator 基础 API 使用举例(含源代码)
【4月更文挑战第11天】ZooKeeper【基础 03】Java 客户端 Apache Curator 基础 API 使用举例(含源代码)
21 11
|
11天前
|
Java
Java配置大揭秘:读取自定义配置文件的绝佳指南
Java配置大揭秘:读取自定义配置文件的绝佳指南
14 0
Java配置大揭秘:读取自定义配置文件的绝佳指南
|
1月前
|
Java API Maven
email api java编辑方法?一文教你学会配置步骤
在Java开发中,Email API是简化邮件功能的关键工具。本文指导如何配置和使用Email API Java:首先,在项目中添加javax.mail-api和javax.mail依赖;接着,配置SMTP服务器和端口;然后,创建邮件,设定收件人、发件人、主题和正文;最后,使用Transport.send()发送邮件。借助Email API Java,可为应用添加高效邮件功能。
|
1月前
|
Java 数据安全/隐私保护 Windows
java实现邮件发送准备工作(前期配置)
java实现邮件发送准备工作(前期配置)
7 0
|
1月前
|
Java 关系型数据库 应用服务中间件
JAVA Web项目开发eclipse工具包配置(第一天)
JAVA Web项目开发eclipse工具包配置(第一天)
|
1月前
|
监控 Java 网络安全

热门文章

最新文章