下载CAS并打成War包:https://github.com/apereo/cas-overlay-template

然后在服务器上安装Tomcat,如果运行多个Tomcat,需要修改Tomcat配置文件里的一些端口。

安装Tomcat

1、上传tomcat服务器到文件夹/usr/local/cas目录下

2、解压并删除命令:

cd /usr/local/cas/

tar  zxvf  apache-tomcat-8.5.32.tar.gz

rm -rf apache-tomcat-8.5.32.tar.gz

3、修改文件名为tomcat命令:

mv apache-tomcat-8.5.32/ tomcat

4、如果服务器上运行多个Tomcat需要修改server.xml文件

修改下面两个端口即可,我这里将tomcat端口8080修改为9100了。

5、启动测试Tomcat是否正在运行:/usr/local/cas/tomcat/bin/startup.sh

6、如果正常运行,可以停止Tomcat了:/usr/local/cas/tomcat/bin/shutdown.sh

部署CAS服务

1、将打好的war包上传到tomcat的webapps下,如果数据库使用的是8.0,记得将8.0的jar包打入war包

2、启动tomcat,让tomcat自己解压war包

3、停止tomcat之后才能删除war包:rm -rf cas.war

然后可以通过访问tomcat端口下的cas/login,出现下面这个页面即成功。

输入用户名casuser 密码:Mellon即可登录。

具体安装方法可参考:https://blog.csdn.net/Anumbrella/article/details/81045885?utm_source=distribute.pc_relevant.none-task

配置CAS

1、配置允许登出后跳转至指定页面

修改cas系统的配置文件WEB-INF目录下的application.properties中添加如下配置

# 配置允许登出后跳转到指定页面
cas.logout.followServiceRedirects=true
# 跳转到指定页面需要的参数名为 service
cas.logout.redirectParameter=service

2、启用记载JSON配置文件

修改cas系统的配置文件WEB-INF目录下的application.properties中添加如下配置

cas.tgc.secure=false
cas.serviceRegistry.initFromJson=true

3、修改http支持的配置

修改/WEB-INF/classes/services目录下的HTTPSandIMAPS-10000001.json

4、重启Tomcat

简单使用CAS

测试两个工程,一个登录认证之后,另外一个是否还需要认证。

创建war工程casProject1和casProject2,配置一致:

①引入pom依赖

<!-- cas -->
<dependency><groupId>org.jasig.cas.client</groupId><artifactId>cas-client-core</artifactId><version>3.3.3</version>
</dependency>
<dependency><groupId>javax.servlet</groupId><artifactId>servlet-api</artifactId><version>2.5</version><scope>provided</scope>
</dependency>

②配置web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://java.sun.com/xml/ns/javaee"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"version="2.5"><!-- 用于单点退出,该过滤器用于实现单点登出功能,可选配置 --><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>CASFilter</filter-name><filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class><init-param><param-name>casServerLoginUrl</param-name><!--如果没有登录,会重定向到cas服务器当中 server是服务端的IP--><param-value>http://10.35.30.88:9100/cas/login</param-value></init-param><init-param><param-name>serverName</param-name><!--登录完成之后, 跳回自己的业务系统, 这里是业务系统的ip和商口--><param-value>http://127.0.0.1:9001</param-value></init-param></filter><filter-mapping><filter-name>CASFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping><!-- 该过滤器负责对Ticket的校验工作,必须启用它 --><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><!--登录之后,校验令牌的地址 cas服务器的地址--><param-value>http://10.35.30.88:9100/cas</param-value></init-param><init-param><param-name>serverName</param-name><!--校验完成之后跳回业务系统  业务系统的ip和端口--><param-value>http://127.0.0.1:9001</param-value></init-param></filter><filter-mapping><filter-name>CAS Validation Filter</filter-name><url-pattern>/*</url-pattern></filter-mapping><!-- 该过滤器负责实现HttpServletRequest请求的包裹, 比如允许开发者通过HttpServletRequest的getRemoteUser()方法获得SSO登录用户的登录名,可选配置。 --><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><!-- 该过滤器使得开发者可以通过org.jasig.cas.client.util.AssertionHolder来获取用户的登录名。 比如AssertionHolder.getAssertion().getPrincipal().getName()。 --><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>
</web-app>

③其中一个工程配置下index.jsp,添加一个退出标签

④运行其中一个去进行登录认证,然后再启动另外一个

可以发现,第二个无需登录。

⑤选择其中一个项目中进行注销

然后刷新第二个项目的页面,发现第二个项目的也注销了。

CAS - CentOS下部署CAS服务器及简单使用相关推荐

  1. CentOS下部署web2py服务器

    本文的应用场景是要在centos下部署一个web2py服务器. 笔者的环境是Windows7 +VMare10 +CentOS v7 +SSH,全部是64位. 以可以从主机的浏览器访问到服务器的服务作 ...

  2. CAS (10) —— JBoss EAP 6.4下部署CAS时出现错误exception.message=Error decoding flow execution的解决办法...

    CAS (10) -- JBoss EAP 6.4下部署CAS时出现错误exception.message=Error decoding flow execution的解决办法 jboss版本: jb ...

  3. Centos下部署NTP时间服务器同步环境

    Centos下部署NTP时间服务器同步环境记录 我是在购买的3A平台购买的服务器进行测试. 服务端部署 安装所需软件包 [root@test ~]# yum -y install ntp ntpdat ...

  4. CentOS下架设VNC服务器

    CentOS下架设VNC服务器 1.什么是VNC服务器? 百度百科: VNC (Virtual Network Computer)是虚拟网络计算机的缩写.它 是一款优秀的远程控制工具软件,由著名的 A ...

  5. CentOS下的DNS服务器搭建

    CentOS下的DNS服务器搭建 实验环境:VMware workstation 10         centos 6.4 说明: DNS是计算机域名系统或域名解析服务器(Domain Name S ...

  6. centos下搭建dhcp服务器

    centos下搭建dhcp服务器 一.软件环境 CentOS release 6.5 dhcp-4.1.1-51.P1.el6.centos.x86_64 dhcp-common-4.1.1-51.P ...

  7. CentOS 下搭建svn服务器

    CentOS 下搭建svn服务器 安装SVN yum 安装 创建 svn 目录 svn 的目录结构 conf 中的设置[重点] 设置 authz 设置 passwd 设置 svnserve.conf ...

  8. linux(centOS)下搭建node服务器之一、 安装Node.js

    本例系统环境:腾讯云 CentOS 7.4 64位 一.找相应node版本,复制链接 1. 打开网址 http://nodejs.cn/download/; 2. ctrl+shift+i(打开开发者 ...

  9. 《Centos下部署ThinkPHP》

    Centos 7服务器版下部署ThinkPHP 部署条件 : 1,首先要安装Centos 7服务器版,我的博客中有如何安装,希望对大家有帮助:http://blog.csdn.net/self_rea ...

最新文章

  1. 26岁创造UNIX,退休后却成为一名飞行员,这位编程界大佬不走寻常路
  2. mongooseim xmpp 服务器docker 安装试用
  3. python tcl 控件_在Tkinter.Tcl()中使用Python函数
  4. Ionic创建页面以及页面之间跳转、页面添加返回按钮、新增底部页面
  5. BZOJ4589. Hard Nim
  6. Altium Designer20 PCB板子绘制
  7. Rust笔记1 rust基本概念
  8. 机场也应该取个好听的名
  9. c语言烟花表白程序代码,C语言实战之浪漫烟花表白程序代码
  10. 【学习笔记】用Excel制作随机抽奖器(Visual Basic编程)。
  11. Linux开发板通过U盘拷贝文件
  12. TRANCATE TABLE与DETELE TABLE的区别
  13. 最新kali之bulk_extractor
  14. Java 用NIO实现一个聊天室(多人聊天、单人聊天)
  15. 卸载 Notepad++ !事实已证明,它更牛逼……
  16. Guzzle中的异步请求
  17. 第一章 新科技革命引发产业革命
  18. 【Gas优化】GasChecker
  19. 【计算机基础】03-Word习题
  20. 荣耀7c升鸿蒙,荣耀也能升级!鸿蒙所需配置曝光:麒麟710起步

热门文章

  1. 不用调用函数的情况下 作次方运算
  2. 【AD常见问题】STM32C8T6最小系统板的间距
  3. 如何使用电脑还原点还原系统
  4. 黑苹果手动修改intel hd3000核显显存大小.2022-11-29
  5. 实物图鉴TMS320F2812PGFA代理销售现货价格
  6. Non-stationary Transformers: Exploring the Stationarity in Time Series Forecasting论文阅读
  7. 华为鸿蒙系统操作教程_华为鸿蒙2.0系统怎么退回EMUI11系统?手把手教你如何进行操作...
  8. 电机与拖动 - 8 直流电机的电力拖动
  9. RTC电路锂电池耗电过快的问题
  10. python通过获取图片固定位置的颜色坐标,并且通过坐标点颜色填充整张图片代码+注释