ITPub博客

首页 > 架构设计 > 软件结构 > CAS SSO单点登录客户端环境搭建之框架深度分析

CAS SSO单点登录客户端环境搭建之框架深度分析

原创 软件结构 作者:JIAN2 时间:2021-10-21 14:25:15 0 删除 编辑

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


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

需要框架源码的朋友可以看我个人简介联系我

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

<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">

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

<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>
    </init-param>
    <init-param>
      <param-name>serverName</param-name>
      <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>
    </init-param>
    <init-param>
      <param-name>serverName</param-name>
      <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,找到cas项目下的HTTPSandIMAPS-10000001.json文件,路径为:\WEB-INF\classes\services,里面增加http协议支持。

5.重启sso的服务端,再次访问(成功跳转)

6.其中sso2的客户端,访问(成功跳转)

需要框架源码的朋友可以看我个人简介联系我

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



来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/70006413/viewspace-2838554/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
华为资深架构师,曾参与华为数据中心迁移解决方案!有需要了解分布式微服务电商源码的朋友可以+我 v ❤: 445909108 , 10余年互联网研发行业经验!博客里面是个人的一点技术总结,希望能够帮助到更多的IT朋友成长!

注册时间:2021-09-06

  • 博文量
    469
  • 访问量
    145436