2019独角兽企业重金招聘Python工程师标准>>>

注意:本系列采用的CAS版本是4.1.xx,其它版本有可能不适用。

1、啰嗦一下原理

在spring中,读取属性文件properties替换占位符可以使用 PropertySourcesPlaceholderConfigurer 或  PropertyPlaceholderConfigurer 两个类,它们的父类 PropertyResourceConfigurer 实现了 BeanFactoryPostProcessor接口,该接口的postProcessBeanFactory方法在spring容器初始化时,将会在注册BeanDefinition后调用,提供了一种动态修改BeanDefinition的属性的方法。BeanDefinition就是对xml文件中,bean定义的封装。 PropertySourcesPlaceholderConfigurer 或  PropertyPlaceholderConfigurer 两个类将会动态替换占位符${}。

cas-server-webapp工程在web.xml中提供了spring的配置文件加载位置

        <init-param><param-name>contextConfigLocation</param-name><param-value>/WEB-INF/cas-servlet.xml, /WEB-INF/cas-servlet-*.xml</param-value></init-param>

看一下WEB-INF/cas-servlet.xml文件,这里引入了其它的配置文件 propertyFileConfigurer.xml

  <import resource="spring-configuration/propertyFileConfigurer.xml"/>

看一下 propertyFileConfigurer.xml,这里给出了配置文件的引入地址

    <util:properties id="casProperties" location="${cas.properties.filepath:/WEB-INF/cas.properties}"/><context:property-placeholder properties-ref="casProperties"/>

我们可以知道,/WEB-INF/cas.properties就是cas的属性文件。

2、修改配置

2.1 修改默认语言

cas使用了spring mvc的国际化解决方案,即使用了LocaleResolver解析器解析消息,它的配置在/WEB-INF/cas-servlet.xml文件中。p:defaultLocale指定了默认的语言,这里使用了占位符${locale.default},然后在cas.properties文件中添加了需要使用的国际化语言文件解析消息。

  <!-- Locale Resolver --><bean id="localeResolver" class="org.springframework.web.servlet.i18n.CookieLocaleResolver"p:defaultLocale="${locale.default}" />

${locale.default}需要在cas.properties文件中添加

# 默认语言
locale.default=zh_CN

清单:修改前的登录页

清单:修改后的登录页

2.2 修改默认登录页

请参考 文章《单点登录 - 定制CAS服务器的登录页》 https://my.oschina.net/thinwonton/blog/1417879

2.3 支持HTTP协议

为了支持客户端HTTP协议,需要修改下面4处地方:

(1)修改WEB-INF/deployerConfigContext.xml

    <!-- Required for proxy ticket mechanism. --><bean id="proxyAuthenticationHandler"class="org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler"p:httpClient-ref="supportsTrustStoreSslSocketFactoryHttpClient"  p:requireSecure="false" /><!-- Required for proxy ticket mechanism. --><bean id="proxyAuthenticationHandler"class="org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler"p:httpClient-ref="supportsTrustStoreSslSocketFactoryHttpClient"  p:requireSecure="false" />

(2)修改WEB-INF/spring-configuration/ticketGrantingTicketCookieGenerator.xml

    <bean id="ticketGrantingTicketCookieGenerator" class="org.jasig.cas.web.support.CookieRetrievingCookieGenerator"c:casCookieValueManager-ref="cookieValueManager"p:cookieSecure="false"p:cookieMaxAge="-1"p:cookieName="TGC"p:cookiePath=""/>

将p:cookieSecure="true"修改为p:cookieSecure="false"

(3)修改WEB-INF/spring-configuration/warnCookieGenerator.xml

    <bean id="warnCookieGenerator" class="org.jasig.cas.web.support.CookieRetrievingCookieGenerator"p:cookieHttpOnly="true"p:cookieSecure="false"p:cookieMaxAge="-1"p:cookieName="CASPRIVACY"p:cookiePath=""/>

将p:cookieSecure="true"修改为p:cookieSecure="false"

(4)修改注册服务WEB-INF/classes/services/HTTPSandIMAPS-10000001.json
"serviceId" : "^(https|imaps)://.*"  修改为

{"@class" : "org.jasig.cas.services.RegexRegisteredService","serviceId" : "^(https|imaps|http)://.(jd.edu|taobao.edu)","name" : "HTTPS and IMAPS","id" : 10000001,"description" : "This service definition authorized all application urls that support HTTPS and IMAPS protocols.","proxyPolicy" : {"@class" : "org.jasig.cas.services.RefuseRegisteredServiceProxyPolicy"}

serviceId 这个属性很重要,它限制了可以访问CAS服务器的URL地址,在生产环境中建议配置下具体支持哪些服务。

转载于:https://my.oschina.net/thinwonton/blog/1417824

单点登录 - 修改CAS服务器的一些配置( 陆续添加)相关推荐

  1. cas java单点登录_java单点登录系统CAS的简单使用

    http://blog.csdn.net/yunye114105/article/details/7997041 参考: http://blog.csdn.net/diyagea/article/de ...

  2. 开源单点登录系统CAS入门

    单点登录系统CAS 目录 单点登录系统CAS 什么是单点登录? CAS 介绍 CAS 服务端部署 (1)复制war包到tomcat (2)运行tomcat (3)访问CAS登录页面 CAS服务端配置 ...

  3. 开源的单点登录系统CAS入门

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

  4. 单点登录之CAS原理和实现

    1.开源单点登录系统CAS入门 1.1 什么是单点登录 单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一.SSO的定义是在多个应用系统中,用户只需要 ...

  5. Jeesite单点登录集成Cas另加自定义登录验证

    Jeesite单点登录集成Cas另加自定义登录验证 JeeSite是基于多个优秀的开源项目,高度整合封装而成的高效,高性能,强安全性的 开源 Java EE快速开发平台. Cas主要是用来解决多应用之 ...

  6. 单点登录解决方案CAS

    #单点登录解决方案CAS ##一.单点登录 ​ 单点登录SSO,实现跨域登录.当用户第一次访问系统的时候,会被引导进入认证系统中进行登录:根据用户提供的登录信息,认证系统进行身份校验,如果通过校验,应 ...

  7. 单点登录之CAS原理和实现(转载)

    转载源:https://www.jianshu.com/p/613c615b7ef1 单点登录之CAS原理和实现 来源于作者刘欣的<码农翻身> + 自己的备注理解 这家集团公司财大气粗,竟 ...

  8. cas单点登录系统:客户端(client)详细配置(包含统一单点注销配置)

    最近一直在研究cas登录中心这一块的应用,分享一下记录的一些笔记和心得.后面会把cas-server端的配置和重构,另外还有这几天再搞nginx+cas的https反向代理配置,以及cas的证书相关的 ...

  9. Cas单点登录的服务器端和客户端的配置

    同事参考网上资料总结出的Cas单点登录的文档,很有学习价值哦 Cas服务器端和客户端的配置 服务器端的配置: 1. 所需的环境: · Tomcat7.2 · JDK6 · CAS Service 版本 ...

最新文章

  1. 【经典书单】NLP秘笈汇总,从入门到进阶
  2. JavaScript onerror事件
  3. Html图片懒加载动画,Intersection Observer实现滚动到相应区域执行动画及图片懒加载...
  4. 观察者模式在SAP ui5修改theme实现中的应用
  5. 稀疏矩阵的压缩存储--十字链表(转载)
  6. xml没有提示解决办法eclipse
  7. VUE中axios 报错 TypeError: Cannot set property ‘type‘ of undefined,
  8. STM8 ADC转换模式-------单次模式
  9. 音乐搜索器 多站合一_分享一堆可以免费听音乐的良心网站!赶紧码住哦
  10. 重置gitlab管理员密码
  11. NUC1158 Lake Counting【DFS】
  12. 丰县哪里有学计算机,江苏丰县中等专业学校2021年有哪些专业
  13. 使用python来完成对QQ邮箱文件中转站的文件下载链接的获取
  14. 51单片机的定时器TMOD的小记
  15. Maven使用 | 多模块下的打包问题
  16. 计算机软硬件配置在哪里查,如何查看电脑硬件配置信息?
  17. 这10本豆瓣高分经典数学书,果断收藏!
  18. vue3 动态获取屏幕尺寸
  19. 怎么将小程序添加到我的小程序?
  20. 2022华为机试社招OD高频考试真题【9, 10月份Q2, Q3考试新编程题目】

热门文章

  1. 基于SSVEP-EOG的混合BCI用于机械臂控制
  2. [unreal4入门系列之十六] UE4中的集合:TSet容器
  3. 2021 IEEE热门AI话题盘点:模仿生物大脑打造神经网络、GPT3“不当言论”惹关注…...
  4. AMD猛攻数据中心市场,拿下15年来最高份额,英特尔DCG收入下滑20%
  5. “金星生命论”乌龙事件新进展:那只是二氧化硫而已
  6. 地平线新征程!官网焕然一新,二代自动驾驶芯片势已蓄,只待发
  7. 李开复从不缺席的AI夏令营开营:今年周志华俞勇张潼授课,1万人报名仅600入选...
  8. 数据传输流程和socket简单操作
  9. Sublime Text 2 和 Verilog HDL
  10. 17个提升iOS开发效率的神器