转贴: 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 -->

CAS Tomcat实现单点登录的更多相关文章

  1. 七、spring boot 1.5.4 集成shiro+cas,实现单点登录和权限控制

    1.安装cas-server-3.5.2 官网:https://github.com/apereo/cas/releases/tag/v3.5.2 下载地址:cas-server-3.5.2-rele ...

  2. CAS实现SSO单点登录

    环境 cas-server-4.1.8,cas-client-3.4.0,Java-8,Maven-3,Tomcat-7.0.72 CAS Server 安装 点此进入 CAS 下载列表,选择下载 c ...

  3. 采用CAS原理构建单点登录

    企业的信息化过程是一个循序渐进的过程,在企业各个业务网站逐步建设的过程中,根据各种业务信息水平的需要构建了相应的应用系统,由于这些应用系统一般是在不同的时期开发完成的,各应用系统由于功能侧重.设计方法 ...

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

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

  5. 一篇文章彻底弄懂CAS实现SSO单点登录原理

    1. CAS 简介 1.1. What is CAS ? CAS ( Central Authentication Service ) 是 Yale 大学发起的一个企业级的.开源的项目,旨在为 Web ...

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

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

  7. 基于CAS的SSO(单点登录)实例

    第一步 部署CAS-Server(服务端) 1.从CAS官方网站(http://developer.jasig.org/cas/)下载最新版本的CAS-Server(当前最新版本cas-server- ...

  8. CAS 4.0 单点登录教程

    CAS 单点登录指导文档 1.概述 单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一.SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所 ...

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

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

随机推荐

  1. 关于ckeditor添加的class都会被清除掉的问题

    在源码中输入ul,并且带有class,然后点击源码,到可视化界面 结果显示为aaa,再点看源码,查看HTML源代码 解决方法: 添加配置 config.allowedContent = true 这个 ...

  2. C#.Net 如何动态加载与卸载程序集(.dll或者.exe)2----通过应用程序域AppDomain加载和卸载程序集之后,如何再返回原来的主程序域

    实现目的:动态加载dll,执行完毕之后可以随时卸载掉,并可以替换这些dll,以在运行中更新dll中的类. 其实就是通过应用程序域AppDomain加载和卸载程序集. 在这方面微软有篇文章http:// ...

  3. Return Negative

    Return Negative In this simple assignment you are given a number and have to make it negative. But m ...

  4. MarkupExtension的使用

    记得第一次看到MarkupExtension是在几年前的一次面试中.很不好意思说,当时不知道是什么东东.最近在项目中又用到了WPF的这个功能,决定在博客里记录一下. 在Xaml中为某个对象以Attri ...

  5. Java面试题-并发框架

    1. SynchronizedMap和ConcurrentHashMap有什么区别?  答:java5中新增了ConcurrentMap接口和它的一个实现类ConcurrentHashMap.Conc ...

  6. Grunt 初体验

    对于没有接触过类似自动化工具的朋友,对 grunt 也许只是停留在听过阶段,而并没有真正的使用过.今天就从最初级的教程说起.在开始教程之前,需要先确保你已经安装了 node. 下面就开始来讲解 gru ...

  7. 武汉北大青鸟解读2016年10大IT热门岗位

    武汉北大青鸟解读2016年10大IT热门岗位 2016年1月5日 13:37 北大青鸟 这是IT从业者的辉煌时代,IT行业的失业率正处在历史的低点,而且有的岗位——例如网络和安全工程师以及软件开发人员 ...

  8. 【转】第一个Linux内核驱动程序

    原文网址:http://blog.csdn.net/nexttake/article/details/8181008 刚看 O’REILLY 写的<LINUX 设备驱动程序>时.作者一再强 ...

  9. Eclipse文件编码设置的问题

    Eclipse中设置编码的方式 如果要使插件开发应用能有更好的国际化支持,能够最大程度的支持中文输出, 则最好使 Java文件使用UTF-8编码.然而,Eclipse工作空间(workspace)的缺 ...

  10. Google Maps API v2 Demo Tutorial

    申请API KEY https://code.google.com/apis/console/?noredirect 1. 创建项目,名称随意,只是为了区分 2. 开启Google Maps Andr ...