ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

③CAS SSO单点登录客户端环境搭建之之源码深度分析

2021-09-30 16:01:06  阅读:176  来源: 互联网

标签:cn sso1 CAS jeesz Filter cas SSO 源码


1.准备两个个全新的tomcat8,用来作为sso单点登录的客户端,如下:


2.修改server.xml文件(因为考虑到端口冲突,所以将里面的端口全部改掉)

 需要源码 点击这里 

 

 其中apache-tomcat-client1-8082的端口改成了8082
其中apache-tomcat-client2-8083的端口改成了8083
apache-tomcat-client1-8082添加:

1 2 3 <host name="sso1.jeesz.cn"  appbase="webapps"             unpackwars="true"  autodeploy="true"> apache-tomcat-client1-8083添加: <host name="sso2.jeesz.cn"  appbase="webapps"             unpackwars="true"  autodeploy="true"></host name="sso2.jeesz.cn"  appbase="webapps"></host name="sso1.jeesz.cn"  appbase="webapps">

3.创建两个web工程,sso1,sso2,配置web.xml文件如下(这里只以sso1为例,sso2的配置可以在项目中查看):

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 <listener>     <listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class>   </listener>   <filter>     <filter-name>CAS Single Sign Out Filter</filter-name>     <filter-class>org.jasig.cas.client.session.SingleSignOutFilter</filter-class>   </filter>   <filter-mapping>     <filter-name>CAS Single Sign Out Filter</filter-name>     <url-pattern>/*</url-pattern>   </filter-mapping>   <filter>     <filter-name>CAS Filter</filter-name>     <filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class>     <init-param>       <param-name>casServerLoginUrl</param-name>       <param-value>https://jeesz.cn:8443/cas/login</param-value>     </init-param>     <init-param>       <param-name>serverName</param-name>       <param-value>http://sso1.jeesz.cn:8082</param-value>     </init-param>   </filter>   <filter-mapping>     <filter-name>CAS Filter</filter-name>     <url-pattern>/*</url-pattern>   </filter-mapping>   <filter>     <filter-name>CAS Validation Filter</filter-name>     <filter-class>                   org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter</filter-class>     <init-param>       <param-name>casServerUrlPrefix</param-name>       <param-value>https://jeesz.cn:8443/cas</param-value>     </init-param>     <init-param>       <param-name>serverName</param-name>       <param-value>http://sso1.jeesz.cn:8082</param-value>     </init-param>   </filter>   <filter-mapping>     <filter-name>CAS Validation Filter</filter-name>     <url-pattern>/*</url-pattern>   </filter-mapping>   <filter>     <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>     <filter-class>                   org.jasig.cas.client.util.HttpServletRequestWrapperFilter</filter-class>   </filter>   <filter-mapping>     <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>     <url-pattern>/*</url-pattern>   </filter-mapping>   <filter>     <filter-name>CAS Assertion Thread Local Filter</filter-name>     <filter-class>org.jasig.cas.client.util.AssertionThreadLocalFilter</filter-class>   </filter>   <filter-mapping>     <filter-name>CAS Assertion Thread Local Filter</filter-name>     <url-pattern>/*</url-pattern>   </filter-mapping>


注意标红色的区域
4.将sso1、sso2两个项目分别打成war包导入到两个tomcat中,分别启动运行,
此时访问:http://sso1.jeesz.cn:8082/sso1会出现一个异常,我们截图用来记录错误

 

这个错误很明显,我们需要配置当前容器支持http,找到cas项目下的HTTPSandIMAPS-10000001.json文件,路径为:\WEB-INF\classes\services,里面增加http协议支持。

 

5.重启sso的服务端,再次访问http://sso1.jeesz.cn:8082/sso1(成功跳转)

 

6.其中sso2的客户端,访问http://sso2.jeesz.cn:8083/sso2(成功跳转)

7.反复用默认账号测试登录登出,访问sso1,sso2应用,可以确认只需要登录一次

 

标签:cn,sso1,CAS,jeesz,Filter,cas,SSO,源码
来源: https://www.cnblogs.com/Liuzhijuan/p/15357142.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有