cas client配置

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 plain copy
  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 plain copy
  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 plain copy
  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>


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值