`

cas client配置

    博客分类:
  • cas
cas 
阅读更多

http://blog.csdn.net/roadmap001/article/details/8147281

 

CAS是SSO常用的开源解决方案,可以适用多种语言实现的Web应用。前面介绍了CAS Server端的配置。下面结合本人的实际操作,详细说明下Java应用CAS Client配置。首先,说明下配置环境:

1. CAS Server 3.4.5,跑在tomcat 7上。 部署在http://www.cas.com/cas上(本地hosts文件配置域名)。
2. CAS Client Java SSH应用(Struts 2.3.4.1、Spring 3.0.5、Hibernate 3.3.2,如应用使用了特定安全框架如Spring Security,且集成了CAS Client,可直接使用其提供的配置方法), web应用也跑在tomcat 7上,部署在
http://www.my.com/app(本地hosts文件配置域名)。

配置步骤:

1.添加cas-client-core-3.1.10-sources.jar,如使用mvn,pom.xml中添加

 

[html] view plaincopy
  1.     <dependency>  
  2.     <groupId>org.jasig.cas</groupId>  
  3.     <artifactId>cas-client-core</artifactId>  
  4.     <version>3.1.10</version>  
  5.     <exclusions>  
  6.         <exclusion>  
  7.         <artifactId>servlet-api</artifactId>  
  8.         <groupId>javax.servlet</groupId>  
  9.     </exclusion>  
  10.     </exclusions>  
  11. </dependency>   

2. web.xml中添加:

[html] view plaincopy
  1. <!-- 与CAS Single Sign Out Filter配合,注销登录信息  -->  
  2.   
  3. <listener>  
  4.         <listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class>  
  5. </listener>  
  6.   
  7.   
  8.   
  9.   
  10.      
  11. <!-- CAS Server 通知 CAS Client,删除session,注销登录信息  -->  
  12.     <filter>   
  13.         <filter-name>CAS Single Sign Out Filter</filter-name>  
  14.         <filter-class>org.jasig.cas.client.session.SingleSignOutFilter</filter-class>  
  15. </filter>   
  16.     <filter-mapping>  
  17.         <filter-name>CAS Single Sign Out Filter</filter-name>  
  18.         <url-pattern>/*</url-pattern>  
  19. </filter-mapping>  
  20.      
  21.     <!-- 登录认证,未登录用户导向CAS Server进行认证 -->  
  22.      <filter>   
  23.     <filter-name>CAS Filter</filter-name>  
  24.     <filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class>  
  25.         <init-param>  
  26.             <param-name>casServerLoginUrl</param-name>  
  27.                 <param-value>http://www.cas.com/cas/login</param-value>  
  28.         </init-param>  
  29.         <init-param>  
  30.                 <param-name>serverName</param-name>  
  31.                 <param-value>http://api.zfwx.com:8080</param-value>  
  32.         </init-param>  
  33. </filter>   
  34. <filter-mapping>  
  35.         <filter-name>CAS Filter</filter-name>  
  36.         <url-pattern>/*</url-pattern>  
  37. </filter-mapping>   
  38.   
  39. <!-- CAS Client向CAS Server进行ticket验证 -->  
  40.     <filter>    
  41.             <filter-name>CAS Validation Filter</filter-name>  
  42.         <filter-class>org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter</filter-class>  
  43.             <init-param>  
  44.                     <param-name>casServerUrlPrefix</param-name>  
  45.                     <param-value>http://www.cas.com/cas</param-value>  
  46.         </init-param>  
  47.             <init-param>  
  48.                     <param-name>serverName</param-name>  
  49.                 <param-value>http://api.zfwx.com:8080</param-value>  
  50.         </init-param>  
  51.     </filter>  
  52.     <filter-mapping>  
  53.             <filter-name>CAS Validation Filter</filter-name>  
  54.          <url-pattern>/*</url-pattern>  
  55.     </filter-mapping>  
  56.       
  57.     <!-- 封装request, 支持getUserPrincipal等方法-->  
  58.     <filter>   
  59.             <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>  
  60.             <filter-class>org.jasig.cas.client.util.HttpServletRequestWrapperFilter</filter-class>  
  61.     </filter>  
  62.     <filter-mapping>  
  63.             <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>  
  64.         <url-pattern>/*</url-pattern>  
  65.     </filter-mapping>  
  66.       
  67.     <!-- 存放Assertion到ThreadLocal中   -->  
  68.     <filter>   
  69.         <filter-name>CAS Assertion Thread Local Filter</filter-name>  
  70.         <filter-class>org.jasig.cas.client.util.AssertionThreadLocalFilter</filter-class>  
  71. </filter>   
  72.     <filter-mapping>  
  73.         <filter-name>CAS Assertion Thread Local Filter</filter-name>  
  74.         <url-pattern>/*</url-pattern>  
  75. </filter-mapping>  


3. 编写个简单的测试页面test.jsp进行测试。

 

[html] view plaincopy
  1. <%@ page import="org.jasig.cas.client.authentication.AttributePrincipal" %>  
  2. <html>  
  3.     <head><title>cas test</title></head>  
  4.     <body>  
  5.   
  6. <%  
  7. AttributePrincipal principal = (AttributePrincipal)request.getUserPrincipal();     
  8. String username = principal.getName();  
  9. %>  
  10. <% if(null!=username){ %>  
  11.     <h2>Hello <%=username %> !</h2>  
  12.     <a href="http://www.cas.com/cas/logout">logout</a>  
  13. <% }%>  
  14.       
  15.     </body>  
  16. </html>


 

分享到:
评论

相关推荐

    CASClient集群环境的Session问题及解决方案.docx

    在 CASClient 中,可以配置一个统一的注销 URL,当用户注销时,可以将用户重定向到这个 URL,从而实现统一注销。 配置 CASClient 为了实现单点登录和统一注销,需要在 web.xml 中进行相应的配置。需要配置 ...

    spring boot整合CAS Client实现单点登陆验证的示例

    在 CAS Client 中,我们还可以配置多种认证方式,例如 CAS、CAS3、SAML 等。这些认证方式都可以通过 cas.validation-type 属性来配置。例如,我们可以使用 CAS 认证: ```properties cas.validation-type=CAS ``` ...

    关于cas安装和配置

    - **配置客户端应用访问地址**:`&lt;param-value&gt;http://localhost:8080/casClient2&lt;/param-value&gt;` 用于识别客户端应用的服务器名称。 - **配置 CAS 身份验证过滤器**:`&lt;filter-class&gt;org.jasig.cas.client....

    casclient.jar

    4. **配置灵活性**:`casclient.jar`允许开发者通过XML配置文件(如`cas.properties`)自定义CAS客户端的行为,包括CAS服务器的URL、服务定义、安全设置等。 5. **安全性增强**:除了基本的身份验证,`casclient....

    cas client

    2. 配置文件:在Spring Boot项目中,通常会有一个`application.properties`或`application.yml`文件,用于配置CAS客户端的相关参数,如CAS服务器的URL、服务验证端点、安全相关的属性等。 3. 登录与票证验证:当...

    CAS示例环境部署及配置

    1. **客户端应用部署**:将 CAS Client 部署包(cas-client-3.2.1)集成到你的应用中,配置 CAS Server 的 URL 以便客户端能识别和连接。 2. **配置 CAS 验证**:在客户端应用的配置文件中,设置 CAS Server 的地址...

    cas-client-2.0.11.zip_cas client_cas-clie_cas-client-2._java CAS

    3. **CAS客户端配置**:安装和配置CAS客户端通常涉及以下几个步骤:导入相关的JAR库,配置客户端的属性文件(如cas.properties),定义服务URL和CAS服务器的地址,以及处理服务票证验证的过滤器设置。 4. **cas-...

    Cas Server 3.4.2 和 Cas Client 3.1.6 的源代码

    2. **配置方式**:Cas Client 可以通过 XML 配置文件或 Java 配置来设置服务器地址、认证端点等信息,以实现与 Cas Server 的通信。 3. **单点登出**:Cas Client 实现了单点登出功能,当用户在一处登出时,所有已...

    .net的casclient源码

    在".net的casclient源码"中,主要包含以下核心知识点: 1. **CAS协议**:理解CAS的工作原理,包括服务票证(Service Ticket)和票据验证(Ticket Validation)过程。在.NET客户端中,这些概念被转化为具体的类和...

    cas-client-core-3.3.3

    CAS(Central Authentication Service)是一种基于Web的单点登录(Single Sign-On, ...通过理解并正确配置`cas-client-core-3.3.3`,你可以轻松地将你的应用程序与CAS服务器集成,从而提供安全、便捷的单点登录体验。

    cas-client3.5单点登录官方客户端程序demo

    在这个"cas-client3.5单点登录官方客户端程序demo"中,我们可以深入理解如何在Java环境中集成CAS客户端来实现单点登录功能。 首先,CAS客户端3.5是为Java应用程序设计的,它允许这些应用与CAS服务器进行通信,验证...

    cas4.0.7+casClient示例(原生)

    在这个“cas4.0.7+casClient示例(原生)”中,我们将深入探讨如何配置和使用CAS 4.0.7版本与原生的CAS客户端进行集成,以及如何结合数据库实现完整的前后端解决方案。 **1. CAS 4.0.7简介** CAS 4.0.7是CAS服务器...

    casclient-3.1.6源码

    在这个"casclient-3.1.6源码"中,我们可以深入理解如何在实际应用中使用CAS服务。 一、CAS协议原理 CAS的核心思想是让用户只需一次登录,即可访问所有参与SSO的服务。它通过以下三个主要步骤实现: 1. **登录验证*...

    cas-client3.2.1

    CAS(Central ...总的来说,"cas-client3.2.1" 是实现基于CAS的单点登录解决方案的关键组件,它的集成涉及修改配置文件、添加依赖和编写自定义逻辑。正确使用它可以极大地提升用户体验,同时增强系统的安全性。

    springboot-casclient.rar

    本项目"springboot-casclient"旨在展示如何将SpringBoot与CAS相结合,实现单点登录,并结合Thymeleaf模板引擎和Shiro权限管理,构建一个完整的安全认证与授权解决方案。 首先,我们来深入理解SpringBoot集成CAS的...

    cas4.2.7服务端和客户端应用

    2. 配置 CAS 相关的 Spring XML 配置文件,如 `cas-client-support-spring.xml`。 3. 在服务提供者的代码中添加 CAS 认证逻辑。 **六、服务提供者配置** 服务提供者需配置 CAS 服务器地址、服务URL、以及如何验证...

    CAS单点登录(SSO)服务端自定义认证+CAS客户端配置+CAS完整使用文档+CAS4.2.7 cas-serv服务端源码 cas-client客户端源码

    CAS 4.2.7是CAS的一个稳定版本,它包含了服务端(cas-server)和客户端(cas-client)的源码。通过阅读源码,开发者可以深入了解CAS的工作原理,以及如何扩展和定制CAS功能。 4. **数据库连接相关jar包**: 如果...

    cas_client.zip CAS认证中心客户端starter

    在"cas_client.zip"中,`cac_client`可能包含了客户端的Java代码或配置文件,以便在你的应用中集成。 2. **集成方式**:这个starter项目设计为易于集成到你的应用程序中。通常,只需将解压后的文件添加到你的项目...

    Yale CAS SSO JAVA Client

    2. `casclient-http.jar` 和 `casclient-https.jar`:这些是针对HTTP和HTTPS协议的扩展,确保了在与CAS服务器通信时的数据安全性和完整性。HTTPS是SSL/TLS协议的上层应用,用于加密网络通信,防止数据在传输过程中被...

    cas client springmvc(springmvc cas maven sso 详解 )

    - Maven依赖:在项目中添加CAS客户端库的Maven依赖,例如`jasig-cas-client`,这将包含处理CAS协议所需的所有类和配置。 - 配置Web.xml:在Web应用的配置文件中,我们需要配置CAS过滤器链,包括`...

Global site tag (gtag.js) - Google Analytics