转贴: http://www.cnblogs.com/ja-net/archive/2012/07/25/2608536.html

最近这两天在搞单点登录,第一次使用老出状况。以下是配置过程:

1、安全证书

  A)、生成证书KeyStore

    keytool -genkey -alias pwd123 -keyalg RSA -keystore server.keystore

  B)、导出证书

    keytool -export -file client.crt -alias pwd123 -keystore server.keystore

  C)、在客户端导入证书

    keytool -import -keystore %JAVA_HOME%/jre/lib/security/cacerts -file client.crt -alias pwd123

2、配置服务器端Tomcat  

  1.修改server.xml

  <Connector 
           port="8443" minSpareThreads="5" maxSpareThreads="75" 
           enableLookups="true" disableUploadTimeout="true" 
           acceptCount="100"  maxThreads="200" 
           scheme="https" secure="true" SSLEnabled="true" 
           keystoreFile="keystore/server.keystore" keystorePass="pwd123" 
           clientAuth="false" sslProtocol="TLS"/>

  CAS (Central Authentication Service)是Yale大学的ITS开发的一套JAVA实现的开源的SSO(single sign-on)的服务。该服务是以一个java web app(eg:cas.war)来进行服务

3、客户端添加测试应用

  配置应用WEB.XML文件 

<!-- SSO-Start -->

         <filter>

                   <filter-name>CAS Filter</filter-name>

                   <filter-class>edu.yale.its.tp.cas.client.filter.CASFilter</filter-class>

                   <init-param>

                            <param-name>edu.yale.its.tp.cas.client.filter.loginUrl</param-name>

                            <param-value>https://www.jacas.com:8443/cas/login</param-value>

                   </init-param>

                   <init-param>

                            <param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name>

                            <param-value>https://www.jacas.com:8443/cas/proxyValidate</param-value>

                   </init-param>

                   <init-param>

                            <param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name>

                            <param-value>localhost</param-value>

                   </init-param>

         </filter> 

         <filter-mapping>

                   <filter-name>CAS Filter</filter-name>

                   <url-pattern>*.html</url-pattern>

         </filter-mapping>

         <filter-mapping>

                   <filter-name>CAS Filter</filter-name>

                   <url-pattern>*.htm</url-pattern>

         </filter-mapping>

         <filter-mapping>

                   <filter-name>CAS Filter</filter-name>

                   <url-pattern>*.action</url-pattern>

         </filter-mapping>        

         <filter-mapping>

                   <filter-name>CAS Filter</filter-name>

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

         </filter-mapping>

         <!-- SSO-END -->

转载于:https://www.cnblogs.com/AloneSword/p/3219476.html

CAS Tomcat实现单点登录相关推荐

  1. CAS+SSO配置单点登录完整案例

    CAS+SSO配置单点登录完整案例 目录 CAS+SSO配置单点登录完整案例 部署环境 环境说明 安全证书配置 1.打开cmd命令窗口(管理员身份打开) 2.生成证书,在cmd窗口输入以下命令: 3. ...

  2. 学习CAS实现SSO单点登录

    学习CAS实现SSO单点登录 网上找了几篇比较详细的教程,在这记录一下: 原理: CAS实现SSO单点登录原理 教程: 1.CAS实现单点登录(SSO)经典完整教程 2.SSO之CAS单点登录实例演示 ...

  3. CAS 实现的单点登录

    --任何的成功都不是一蹴而就,经验需要慢慢积累.沉淀! 项目里面用到了CAS单点登录,最近也简单的从应用层面简单研究了下CAS这个开源架构. 1. 基本概念:cookie, session, 会话co ...

  4. xxl-sso kisso cas三个单点登录系统分析

    xxl-sso kisso cas三个单点登录系统分析 xxl-sso 统一在一个地方登录 客户端和服务端同时连接一个redis 登录成功后将用户信息写入redis. 登录成功返回 sessionId ...

  5. spring + shiro + cas 实现sso单点登录

    sso-shiro-cas spring下使用shiro+cas配置单点登录,多个系统之间的访问,每次只需要登录一次,项目源码 系统模块说明 cas: 单点登录模块,这里直接拿的是cas的项目改了点样 ...

  6. Liferay门户与CAS实现SSO单点登录

    http://blog.csdn.net/yang_19790212/article/details/6635778 1.1 准备工作 1.1.1  安装JDK1.6.0.20 JAVA 1.6.0以 ...

  7. CAS服务下单点登录(服务端与客户端)

    转自:http://www.open-open.com/lib/view/open1359286846414.html 此文的目的是为了加深自己的理解,做一个备份与分享 过程全为自己的实际操作步骤 第 ...

  8. 基于CAS实现SSO单点登录

    点击关注公众号,实用技术文章及时了解 1. 概述 1.1. 什么是SSO? 单点登录( Single Sign-On , 简称 SSO )是目前比较流行的服务于企业业务整合的解决方案之一, SSO 使 ...

  9. [精华][推荐]CAS SSO 实现单点登录实例源码

    1.修改server.xml文件,如下: 注意: 这里使用的是https的认证方式,需要将这个配置放开,并做如下修改: <Connector port="8443" prot ...

最新文章

  1. Python的深浅拷贝讲解!
  2. python for-Python for windows官方版
  3. 解决AttributeError: module ‘cv2.cv2‘ has no attribute ‘estimateRigidTransform‘
  4. STL容器汇总(一)
  5. C语言写的程序如何控制计算机硬件
  6. 2017-2018-1 20155223 实验三 实时系统
  7. Scrum 项目4.0--软件工程
  8. ABP从入门到精通(3):aspnet-zero-core 使用Redis缓存
  9. Vue-watch选项
  10. c++stl和std_std :: rotate()函数以及C ++ STL中的示例
  11. 20140418--第1讲.开山篇
  12. HTML解析没有详情页url,爬虫找不到详情页URL的参数
  13. 四:Java+SpringBoot框架使用(两种携带参数的get接口开发)
  14. ios跨线程通知_iOS多线程编程指南(三)Run Loop
  15. webstorm界面主题
  16. 信号处理-基于希尔伯特解调(包络谱)的轴承故障诊断实战,通过python代码实现超详细讲解
  17. 作战管理系统:现代化作战体系核心
  18. Android自定义九宫格图案解锁
  19. 核心数据库保护安全技术实践
  20. NVIDIA NCCL 源码学习(八)- 数据通信链路transport的建立

热门文章

  1. 创建基于存储过程的数据块
  2. SQLite指南(1) -- SQLite的特性
  3. [Python] L1-038. 新世界 团体程序设计天梯赛GPLT
  4. 蓝桥杯 BASIC-5 基础练习 查找整数
  5. 超级计算机的容量单位,微型计算机内存容量的基本单位(计算机内存容量什么单位)...
  6. python数据驱动登录_python之数据驱动ddt操作(方法三)
  7. Cloudstack
  8. log4j输出多个自定义日志文件
  9. Nisus Writer Pro for Mac拆分视图和注释技巧
  10. bin和sbin区别