`
zhangpurple
  • 浏览: 5907 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

CAS SSO配置(上)

 
阅读更多
基于CAS+Tomcat配置SSO
一、系统配置
cas server3.1.1
cas client 2.1.1
tomcat5.5

二. Tomcat 配置,启用SSL
a. 在要安装CAS的机器上为Tomcat生成用于SSL通讯的密钥:%JAVA_HOME%/bin/keytool -genkey -alias tomcat -keyalg RSA
这时需要输入密钥密码和其他参数(第一个参数CN必须设置为CAS机器名,本机使用localhost测试),会在系统用户目录中生成.keystore密钥文件。

b. 导出别名为tomcat的密钥文件:%JAVA_HOME%/bin/keytool -export -file /path/server.crt -alias tomcat 这时需要输入上一步设定的密码,结果会在/path/目录生成server.crt信任状。

c. 为客户端的JVM导入密钥::%JAVA_HOME%/bin/keytool -import -keystore $JAVA_HOME/jre/lib/security/cacerts -file /path/server.crt -alias tomcat 注意:输入密码时密码为"changeit",这是默认密码。

d. 修改服务端Tomcat配置文件,启用SSL如下:

    <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
               maxThreads="150" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS"
               keystoreFile="D:\JAVA\Tomcat5.5\tomcat.keystore"
               keystorePass="changeit"
               truststoreFile="C:/Program Files/Java/jdk1.5.0_04/jre/lib/security/cacerts" />三、CAS Server安装
把cas-server-webapp-3.1.1.war copy到tomcat\webapps下重命名为cas;可能需要修改的cas.properties里的cas server name。
https://localhost:8443/cas/longin
默认的cas server的验证是只要用户名和密码一样就可以登陆。可以通过修改deployerConfigContext.xml里的authenticationHandlers为自己的验证机制,如mysql验证用户,如下
        <property name="authenticationHandlers">
            <list>
                <bean class="org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler"
                    p:httpClient-ref="httpClient" />
           
                    <bean class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler">
                            <property name="sql" value="select password from user where username=?" />
                            <property name="dataSource" ref="dataSource" />
           </bean>
            </list>
        </property>并增加一个mysql dataSource
        <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" destroy-method="close">
                <property name="driverClassName"><value>com.mysql.jdbc.Driver</value></property>
                <property name="url"><value>jdbc:mysql://localhost:3306/sso</value></property>
                <property name="username"><value>root</value></property>
                <property name="password"><value>****</value></property>
        </bean>四、CAS CLIENT配置
以servlet-example为例子
在web.xml增加下面内容
<!-- CAS Filters -->
<filter>
<filter-name>CASFilter</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://localhost:8443/cas/login</param-value>
</init-param><!--这里是服务端的主机名-->
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.validateUrl</param-name>
<param-value>https://localhost:8443/cas/proxyValidate</param-value>
</init-param><!--这里是服务端的主机名,而且必须是-->
<init-param>
<param-name>edu.yale.its.tp.cas.client.filter.serverName</param-name>
<param-value>client:port</param-value><!--client:port就是需要CAS需要拦截的地址和端口,一般就是Client端的IP和port-->
</init-param>
</filter>

<filter-mapping>
<filter-name>CASFilter</filter-name>
<url-pattern>/servlet/*</url-pattern>
</filter-mapping> 其中edu.yale.its.tp.cas.client.filter.serverName的value为需要CAS需要拦截的地址和端口,一般就是Client端的IP/主机名和port
当输入http://localhost:8080/servlet-exampls/servlet/HelloWorld就会要求跳转到cas login窗口要求身份验证。
至此,SSO配置完成;但会出现下面问题
1:假设有A、B两个应用程式,现在在浏览器窗口1输入对A应用程式的请求,会跳转到cas login窗口身份验证;身份验证完成后跳转会A应用程式请求页面
2:在窗口2输入对B应用程式请求,还会需要身份验证
3:在窗口1修改URL为对B应用程式的请求,不需求身份验证
请看CAS SSO配置下文
分享到:
评论

相关推荐

    CAS SSO配置文档详解

    ### CAS SSO配置文档详解 #### 一、SSO实现原理与CAS的作用 单点登录(Single Sign-On,简称SSO)是一种用户身份验证机制,允许用户在一个安全领域内访问多个应用系统,而无需多次输入身份验证信息。在税务行业...

    SSO学习有CAS SSO配置.doc

    4. **客户端集成**:每个需要SSO功能的应用需要配置为CAS客户端,这通常涉及修改应用的配置文件,指示它们信任CAS服务器,并处理票证验证。 5. **信任关系建立**:在不同系统之间建立信任,确保CAS服务器能够验证...

    基于Tomcat6的CAS SSO配置

    基于Tomcat6的CAS SSO配置涉及的主要知识点包括SSO(Single Sign-On,单点登录)、CAS(Central Authentication Service,中心认证服务)、SSL(Secure Socket Layer,安全套接层)以及Tomcat服务器的配置。...

    CAS SSO配置文档

    CAS(Central Authentication Service,...综上所述,CAS SSO配置涉及到服务器和客户端两部分,需要对Tomcat、SSL证书管理、以及CAS客户端库有深入理解。在实际操作中,务必遵循最佳实践,确保系统的安全性和稳定性。

    CAS之SSO配置手册

    总结,CAS SSO配置涉及CAS Server的部署、数据库连接的配置以及登录验证方式的设定。通过理解CAS的工作原理和配置步骤,你可以有效地在多个Web应用间实现统一的登录体验,提高用户体验的同时增强了系统的安全性。

    .net-casSSO-client.rar

    `.net-casSSO-client.rar`提供的程序集`DoNetCasClient.dll`是一个预编译的库,可以直接集成到你的.NET项目中,简化了客户端的开发工作。这个库通常包含以下功能: 1. **登录验证**:客户端库会处理向CAS服务器发送...

    CAS SSO

    该博客文章链接指向的是ITEYE上的一个个人博客,作者XWL1990分享了关于CAS SSO的一些理解和实践。虽然具体内容无法在当前环境下查看,但我们可以根据一般CAS SSO的知识点进行深入探讨。 1. **CAS架构**:CAS通常由...

    CAS SSO实例安装和配置指南PDF版

    SSO实例安装和配置指南PDF版 CAS 是 Yale 大学发起的一个开源项目,旨在为 Web 应用系统提供一种可靠的单点登录方法,CAS 在 2004 年 12 月正式成为 JA-SIG 的一个项目。

    CAS-SSO-TRIAL.zip_CAS_CAS SSO_java sso_sso

    在压缩包内的文件" CAS-SSO-TRIAL.doc"很可能是一个详细的文档,提供了关于如何设置和配置CAS服务器,以及如何在Java和.NET环境中实现SSO的步骤和指导。文档可能会涵盖以下关键知识点: 1. **CAS简介**:解释CAS的...

    CAS(SSO)-.zip_CAS_CAS SSO_java sso_sso java

    单点登录(Single Sign-On,简称SSO)是...尽管文档可能存在一些错误,但总体上,它会为你提供一个全面的CAS SSO实现指南。在实践过程中,注意理解和适应不同的应用场景,以便更好地利用SSO提升用户体验和系统安全性。

    CAS单点登录(SSO)服务端自定义认证+CAS客户端配置+CAS完整使用文档+CAS4.2.7 cas-serv服务端源码 cas-client客户端源码

    CAS(Central Authentication Service)是Java开发的一个开源的单点登录(Single Sign-On,简称SSO)框架,主要用于解决网络应用中的身份验证问题。本压缩包提供了CAS服务端自定义认证的实现,以及CAS客户端的配置...

    Yale CAS SSO JAVA Client

    整合Yale CAS SSO JAVA Client到Java应用中,开发者需要理解CAS的工作原理,包括Ticket Granting Ticket(TGT)和Service Ticket的概念,以及如何在应用程序中配置和调用CAS客户端库。同时,为了保证安全性,需要...

    Yale CAS SSO DotNet Client

    使用Yale CAS SSO DotNet Client时,开发者需要配置CAS服务器的URL和其他相关设置。客户端库会处理与CAS服务器之间的通信,包括发送验证请求、解析返回的票证(ticket)以及验证票证的有效性。在用户成功验证后,...

    cas sso server page

    在这个“cas sso server page”主题下,我们将深入探讨CAS服务器的配置、工作原理以及如何设置和管理SSO。 1. CAS服务器简介: CAS服务器作为SSO的核心,负责处理用户的认证请求,并向各个应用系统提供验证票证...

    SSO.rar_CAS SSO_ladp sso_ldap_linux sso_sso

    SSO(Single Sign-On)是一种身份验证机制,它允许用户在一个系统中登录后,无需再次认证即可...在实际操作中,应根据具体环境和需求详细阅读文档,遵循指导逐步配置,以实现安全、高效的Linux LDAP+CAS SSO解决方案。

    cas_sso.rar_CAS_CAS SSO_cas文档_sso C_单点登录

    例如,`定制CAS登录验证.pdf`文档可能详细介绍了如何调整CAS的配置,以支持本地数据库认证、LDAP、Active Directory或者其他外部认证源。此外,还可以自定义登录页面,以适应企业品牌和UI标准。 **CAS协议** CAS...

    cas sso学习心得

    对于CAS服务器,配置主要集中在取消SSL证书和使用HTTP协议上。在`cas-server-webapp`的`/WEB-INF/spring-configuration`目录下,有两个文件需要调整: 1. `ticketGrantingTicketCookieGenerator.xml`:在这里,我们...

    CAS之SSO配置手册.docx

    《CAS之SSO配置手册》 CAS(Central Authentication Service)是一种广泛应用的开源单点登录(Single Sign-On,SSO)解决方案,由耶鲁大学发起,后来成为JA-SIG项目的一部分。它为企业级Web应用提供了安全可靠的...

    Liferay5.2.3和CAS配置成SSO

    本案例中,我们将探讨如何将Liferay 5.2.3与CAS(Central Authentication Service)配置为SSO系统。 Liferay是一款开源的企业级门户平台,它提供了一个灵活的框架来构建和管理Web应用程序。而CAS则是一个开源的身份...

    cas配置实现sso登录

    最后,测试SSO配置。启动你的应用程序,尝试访问一个受保护的页面,你应该会被重定向到CAS登录页面。成功登录后,你应该能够无阻碍地访问所有其他受保护的资源,而无需再次登录。 总之,通过正确配置`CAS.txt`文件...

Global site tag (gtag.js) - Google Analytics