1. 前言

CAS 默认认证方式使用的是HTTPS协议,一般对安全性不高的话建议取消改成HTTP方式。因为,开启的话会经常提示证书过期、需要用户确认等,客户觉得CAS证书的提示太烦了,当前有需要的可以开启HTTPS。

所以,本文会逐步介绍取消HTTPS协议的方法。

2. CAS-SERVER服务端

取消HTTPS协议,需要修改3个配置文件。

(1) cas-server\WEB-INF\deployerConfigContext.xml

<!--Required for proxy ticket mechanism. -->

<beanid="proxyAuthenticationHandler"

class="org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler"

p:httpClient-ref="httpClient"/>

增加参数p:requireSecure="false",是否需要安全验证,即HTTPS,false为不采用。修改后为:

<beanid="proxyAuthenticationHandler"

class="org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler"

p:httpClient-ref="httpClient"

p:requireSecure="false" />

(2) cas-server\WEB-INF\spring-configuration\ticketGrantingTicketCookieGenerator.xml

<beanid="ticketGrantingTicketCookieGenerator"class="org.jasig.cas.web.support.CookieRetrievingCookieGenerator"

p:cookieSecure="true"

p:cookieMaxAge="-1"

p:cookieName="CASTGC"

p:cookiePath="/cas" />

修改 p:cookieSecure="true" 为p:cookieSecure="false",即不开启https验证。

(3) cas-server\WEB-INF\spring-configuration\ warnCookieGenerator.xml

<beanid="warnCookieGenerator"class="org.jasig.cas.web.support.CookieRetrievingCookieGenerator"

p:cookieSecure="true"

p:cookieMaxAge="-1"

p:cookieName="CASPRIVACY"

p:cookiePath="/cas" />

修改 p:cookieSecure="true" 为p:cookieSecure="false",即不开启https验证。

CAS4的默认用户配置在 deployerConfigContext.xml配置文件中,用户名密码为casuser/Mellon。

3. CAS-CLIENT-客户端

配置CAS客户端,只修改WEB-INF\web.xml文件即可。

<!--========================单点登录开始======================== -->

<!--用于单点退出,该过滤器用于实现单点登出功能,可选配置 -->

<listener>

<listener-class>

org.jasig.cas.client.session.SingleSignOutHttpSessionListener

</listener-class>

</listener>

<!--该过滤器用于实现单点登出功能,可选配置。 -->

<filter>

<filter-name>CASSingle SignOutFilter</filter-name>

<filter-class>org.jasig.cas.client.session.SingleSignOutFilter</filter-class>

</filter>

<filter-mapping>

<filter-name>CASSingle SignOutFilter</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>

<param-value>http://localhost:18080/cas-server/login</param-value>

</init-param>

<init-param>

<param-name>serverName</param-name>

<param-value>http://localhost:8081</param-value>

</init-param>

</filter>

<filter-mapping>

<filter-name>CASFilter</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>

<!--该过滤器负责对Ticket的校验工作,必须启用它 -->

<filter>

<filter-name>CASValidationFilter</filter-name>

<filter-class>

org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter

</filter-class>

<init-param>

<param-name>casServerUrlPrefix</param-name>

<param-value>http://localhost:18080/cas-server</param-value>

</init-param>

<init-param>

<param-name>serverName</param-name>

<param-value>http://localhost:8081</param-value>

</init-param>

</filter>

<filter-mapping>

<filter-name>CASValidationFilter</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>

<!-- 该过滤器负责实现HttpServletRequest请求的包裹, 比如允许开发者通过HttpServletRequest的getRemoteUser()方法获得SSO登录用户的登录名,可选配置。 -->

<filter>

<filter-name>CASHttpServletRequestWrapperFilter</filter-name>

<filter-class>

org.jasig.cas.client.util.HttpServletRequestWrapperFilter

</filter-class>

</filter>

<filter-mapping>

<filter-name>CASHttpServletRequestWrapperFilter</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>

<!-- 该过滤器使得开发者可以通过org.jasig.cas.client.util.AssertionHolder来获取用户的登录名。 比如AssertionHolder.getAssertion().getPrincipal().getName()。 -->

<filter>

<filter-name>CASAssertion ThreadLocalFilter</filter-name>

<filter-class>org.jasig.cas.client.util.AssertionThreadLocalFilter</filter-class>

</filter>

<filter-mapping>

<filter-name>CASAssertion ThreadLocalFilter</filter-name>

<url-pattern>/*</url-pattern>

</filter-mapping>

<!-- ========================单点登录结束 ======================== -->

4. 补充说明

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

如果需要应用到项目中,还需要许多个性化的订制,比如登陆页的美化、通过数据库认证、服务端与客户端用户信息的交互等。

cas/WEB-INF/view/jsp/default/ui的一些JSP文件,每一个文件的用途文件名已经区分了:

l  登录界面:casLoginView.jsp

l  登录成功:casGenericSuccess.jsp

l  登出界面:casLogoutView.jsp

CAS4搭建HTTP环境相关推荐

  1. atom搭建markdown环境

    1. 搭建markdown环境 > 禁用atom自带的markdown-preview插件(功能简单) > 安装插件:markdown-preview-plus@2.4.16(在markd ...

  2. linux apache2.4 php,php5.6+apache2.4+linux如何搭建php环境

    php5.6+apache2.4+linux如何搭建php环境 前言 最近突然想搭建个人博客,尽管笔者擅长java-web,但综合各种原因,于是选择了大众化的php+mysql搭建个人博客.对于php ...

  3. Android NDK开发之旅29 云服务器Ubuntu下搭建NDK环境,并编译FFmpeg

    ###前言 因为在Linux环境下编译FFmpeg生成库和头文件下比较方便,所以接下来主要操作在Linux环境下进行.但是对于Android NDK 开发新手来说,自己电脑配置Ubuntu Linux ...

  4. 软件测试培训:如何搭建测试环境

    如何搭建测试环境?这是很多测试人员都需要了解的,测试是每个产品上线前必备的一个检验,不管是什么产品,做好有效的测试是对产品质量的一个负责,软件测试环境要考虑的就是软件在什么软硬件下能正常运行,什么环境 ...

  5. vm虚拟机下linux安装python_VM中安装linux系统,安装VS Code,搭建Python环境

    VM中安装linux系统 在linux系统中安装VSCode(Visual Studio Code) 1.从官网下载安装包 2.在下载目录打开终端安装 sudo dpkg -i code_1.32.3 ...

  6. Ubuntu 18.04.1 搭建Java环境和HelloWorld

    一.搭建Java环境 系统环境 Ubuntu 18.04.1 JDK 8 IDEA 2018.2 1.下载JDK 官网地址:http://www.oracle.com/technet... 选择相应的 ...

  7. PCL-1.8.1从源码搭建开发环境三(QHULL库的编译)

    原文首发于微信公众号「3D视觉工坊」:PCL-1.8.1从源码搭建开发环境三(QHULL库的编译) 首先,介绍一下QHull库. QHull是一个开源的程序软件,用来研究解决凸包问题,生成凸包形体.官 ...

  8. PCL-1.8.1从源码搭建开发环境二(FLANN库的编译)

    原文首发于微信公众号「3D视觉工坊」,PCL-1.8.1从源码搭建开发环境二(FLANN库的编译) 首先,快速近似最近邻搜索库FLANN-Fast Library for Approximate Ne ...

  9. win10搭建python环境_win10系统搭建python环境的还原方法

    有关win10系统搭建python环境的操作方法想必大家有所耳闻.但是能够对win10系统搭建python环境进行实际操作的人却不多.其实解决win10系统搭建python环境的问题也不是难事,小编这 ...

  10. ubuntu18.04搭建SLAM环境 转 高翔 十四讲匹配环境

    ubuntu18.04搭建SLAM环境_stjuliet的博客-CSDN博客_ubuntu安装slam

最新文章

  1. Python Coding Guidelines
  2. python3 基础教程: 文件read方法(read、readline、readlines)
  3. linux知识点记录二
  4. Docker最全教程之MySQL容器化 (二十四)
  5. 相对布局父类属性_Unity3D RectTransform使用详解:布局、属性、方法
  6. 动画编辑器和骨骼动画使用
  7. 理解createTrackbar函数
  8. VPP电源控制(VPP Power)-- 由DC-DC变换集成电路MC34063组成
  9. 摄像头图像质量常用指标的测试方法
  10. 集成电路模拟版图入门-版图基础学习笔记(四)
  11. 上银驱动器使用手册_禾川伺服驱动器说明书
  12. adb server is out of date 最新解决方案
  13. 全能修图工具Pixelmator Pro for Mac
  14. Hexo-yilia主题个性化美化及功能添加
  15. C语言经典编程282例01
  16. java远程_java实现电脑远程控制详解,附完整源代码
  17. python导库快捷指令、快速导库、dlib库
  18. 【STM32】 电解电容
  19. 码云上最棒的Java管理后台系统
  20. jQuery_01选择器

热门文章

  1. 计算机里只剩c盘了,家里电脑上突然只剩下C盘,怎么处理
  2. EnableViewState详细分析
  3. IT服务管理、IT运维管理、IT运营管理
  4. SpacePack 运维工具之 Auto fdisk
  5. 电商设计素材:15000款淘宝促销水印元素模版,手慢的人领不到!...
  6. JavaSE进阶582-589 IO流(二)File类/目录拷贝
  7. LoadRunner教程(15)-LoadRunner 初识Analysis
  8. Better man 中文歌词
  9. python爬虫 | 鸿鹄论坛评论爬取
  10. 全能音乐助手 激活_全能音乐助手