一、前言

目前为止我们已经搭建好了CAS Server端,我们需要来搭建客户端配合使用,完成单点登录和单点注销的功能.我们将讲两种方式来搭建CAS Client端.一种是普通项目搭建,另一种是基于SpringBoot的项目搭建.

二、普通项目搭建CAS Client

官方提供了一个简易的模板来搭建CAS Client.
Github地址:https://github.com/cas-projects/cas-sample-java-webapp
下载导入项目之后,我们只需要稍作修改,运行起来就可以使用了.
步骤:
1.下载之后导入到工具中,导入之后项目结构如下图:

项目结构

2.项目默认使用的jetty的启动插件.如果使用tomcat的插件,需要在pom.xml中把jetty配置去掉,添加tomcat的插件.

<plugin><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><version>2.2</version><configuration><port>8088</port><path>/</path></configuration>
</plugin>

3.修改web.xml,把里面所有的``casServerUrlPrefix对应的value值换成你统一认证中心的域名,把所有serverName对应的value值换成你当前项目的域名.下方配置也标记了什么地方需要修改.
一定得改对,否则在访问的时候会出现票根’ST-1-SSAyf0nFMvmVBvEBSXyg-cas’不符合目标服务的错误.

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"><!--<context-param><param-name>renew</param-name><param-value>true</param-value></context-param>
--><filter><filter-name>CAS Single Sign Out Filter</filter-name><filter-class>org.jasig.cas.client.session.SingleSignOutFilter</filter-class><init-param><param-name>casServerUrlPrefix</param-name><!--此处需要修改--><param-value>https://www.sso.com:8443/cas</param-value></init-param></filter><listener><listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class></listener><filter><filter-name>CAS Authentication Filter</filter-name><!--<filter-class>org.jasig.cas.client.authentication.Saml11AuthenticationFilter</filter-class>--><filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class><init-param><param-name>casServerLoginUrl</param-name><!--此处需要修改--><param-value>https://www.sso.com:8443/cas/login</param-value></init-param><init-param><param-name>serverName</param-name><!--此处需要修改--><param-value>http://www.crm.com:8088</param-value></init-param></filter><filter><filter-name>CAS Validation Filter</filter-name><!--<filter-class>org.jasig.cas.client.validation.Saml11TicketValidationFilter</filter-class>--><filter-class>org.jasig.cas.client.validation.Cas30ProxyReceivingTicketValidationFilter</filter-class><init-param><param-name>casServerUrlPrefix</param-name><!--此处需要修改--><param-value>https://www.sso.com:8443/cas</param-value></init-param><init-param><param-name>serverName</param-name><!--此处需要修改--><param-value>http://www.crm.com:8088</param-value></init-param><init-param><param-name>redirectAfterValidation</param-name><param-value>true</param-value></init-param><init-param><param-name>useSession</param-name><param-value>true</param-value></init-param><!--<init-param><param-name>acceptAnyProxy</param-name><param-value>true</param-value></init-param><init-param><param-name>proxyReceptorUrl</param-name><param-value>/sample/proxyUrl</param-value></init-param><init-param><param-name>proxyCallbackUrl</param-name><param-value>https://mmoayyed.unicon.net:9443/sample/proxyUrl</param-value></init-param>--><init-param><param-name>authn_method</param-name><param-value>mfa-duo</param-value></init-param></filter><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 Single Sign Out Filter</filter-name><url-pattern>/*</url-pattern></filter-mapping><filter-mapping><filter-name>CAS Validation Filter</filter-name><url-pattern>/*</url-pattern></filter-mapping><filter-mapping><filter-name>CAS Authentication Filter</filter-name><url-pattern>/*</url-pattern></filter-mapping><filter-mapping><filter-name>CAS HttpServletRequest Wrapper Filter</filter-name><url-pattern>/*</url-pattern></filter-mapping><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list>
</web-app>

三、测试

运行tomcat7:run命令,把客户端启动起来.浏览器输入http://www.crm.com:8088/index.jsp,此时页面会跳转到统一认证中心的登陆页面.
但是会看到如下的错误信息:未认证授权的服务,
这是因为CAS Server端默认只接收https的客户端请求,如果想让CAS Server支持http协议的客户端请求,需要在服务端添加一些配置.

未认证授权的服务

服务端修改如下:
操作步骤(1):

1.1 拷贝overlays/org.apereo.cas.cas-server-webapp-tomcat-5.2.3/WEB-INF/classes/services/HTTPSandIMAPS-10000001.json文件到/src/main/resources/services目录.

1.2 修改services\HTTPSandIMAPS-10000001.json文件
“serviceId” : “^(https|imaps)

SSO单点登录详解-------八、搭建CAS Client服务端相关推荐

  1. SSO单点登录详解-------二、单点登录流程解析

    一.简介 单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一.SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统. 二 ...

  2. SSO单点登录详解------三、单点注销流程解析

    一.前言 单点登录自然也要单点注销,在一个子系统中注销,所有子系统的会话都将被销毁,用下面的图来说明: 单点注销流程 步骤分析: 1. 用户在CRM系统中点击注销按钮.会重定向到统一认证中心的注销方法 ...

  3. 多域名实现单点登录详解

    Hi I'm Shendi 多域名实现单点登录详解 简介 在很久以前给自己的网站制作了登录系统,但因为个人备案等原因没有需要用到登录的地方,于是就没有特意去完善这部分功能,仅仅是将用户部分抽取出来作为 ...

  4. 一、CAS单点登录详解

    1.      CAS 简介 简单的 SSO 的体系中,会有下面三种角色: 1 , User (多个) 2 , Web 应用(多个) 3 , SSO 认证中心( 1 个) 虽然 SSO 实现模式千奇百 ...

  5. 推荐-UAA和sso的原理与分析 扩展至 jwt和auth2 -单点登录详解

    一 sso单点登录原理: https://www.cnblogs.com/ywlaker/p/6113927.html#!comments 基础知识:http是无状态协议: 但这也同时意味着,任何用户 ...

  6. android原生调用nextjs方法,详解使用Next.js构建服务端渲染应用

    next.js简介 最近在学React.js,React官方推荐使用next.js框架作为构建服务端渲染的网站,所以今天来研究一下next.js的使用. next.js作为一款轻量级的应用框架,主要用 ...

  7. ISCSI详解(四)——ISCSI服务端配置实战

    今天继续给大家介绍Linux运维相关知识,本文主要内容是ISCSI服务端配置实战. 一.ISCSI安装 首先,我们来安装ISCSI,在安装ISCSI之前,我们需要先安装EPEL的YUM源,执行命令: ...

  8. 长文详解!Docker客户端与服务端TLS认证(Docker Remote API认证)

    一.Docker Remote API的认证 在前一篇文章我们介绍了Docker Remote API如何使用:https://blog.csdn.net/qq_41453285/article/de ...

  9. CAS 5.2.x 实现SSO单点登录教程记录

    CAS SSO 单点登录记录 作者:刘仁奎 个人网址 程序喵:http://www.ibloger.net / http://www.chengxumiao.net QQ:1056856191 Git ...

最新文章

  1. 基于Grafana的Repeate Panel快速定义面板
  2. 汇编语言--jcxz指令
  3. JRebel for IntelliJ 热部署方法
  4. 分支管理---Bug分支
  5. 全国首个人工智能专业,怎么学?
  6. 使用java实现持续移动的小球
  7. python现有两个磁盘文件a和b_有两个磁盘文件a和b,各存放一行字母,今要求把这两个文件中的信息合并...
  8. Android checkCallingPermission()方法返回值问题
  9. SpringBoot项目中图片的引用
  10. vue项目打包优化策略
  11. T-SQL Enhancement in SQL Server 2005[下篇]
  12. 简单的二维数组问题,不用不知道,一用吓一跳
  13. matlab分析xml文件_修改Java中的XML文件(DOM分析器)
  14. mysql的匹配模式
  15. Python 认识字典
  16. Python中常见的字符串小笔试题
  17. php针式打印机打多张,如何将多页内容打印在一张A4纸上
  18. 关于ps中钢笔工具的介绍
  19. vue单页面SEO优化
  20. 技术人要学会自我营销

热门文章

  1. java thread monitor_java并发系列-monitor机制实现
  2. [Paper Note] Densely Residual Laplacian Super-Resolution
  3. 如何给妹子优化 Windows ?
  4. 完美运行步道乐跑各个版本可定制速度、步频、路线
  5. Matlab和PLC的OPC通讯
  6. 【设计原则】KISS原则与YAGNI原则
  7. python批量将CAD中的每个图分别转化为对应的PDF(cad转pdf)
  8. flume读取kafka写hive
  9. 中级反弹已展开 市场出现新“二八”现象
  10. 鸿蒙系统操作界面布局,华为鸿蒙操作系统大曝光