1 使用软件包,cas-client-3.1.10 cas-server-3.3.5 ,apache-tomcat-6.0.20
2 服务端的安装:
生成keyStore ,在命令行输入:
keytool -genkey -alias mykey -keyalg RSA -keystore server.keystore
按照提示来:
输入keystore密码:123456
再次输入新密码:123456
您的名字与姓氏是什么?
[Unknown]: 主机名如果是本机就写localhost,注意这里不要写ip地址,
您的组织单位名称是什么?
[Unknown]: gxcx
您的组织名称是什么?
[Unknown]: gxcx
您所在的城市或区域名称是什么?
[Unknown]: beijing
您所在的州或省份名称是什么?
[Unknown]: beijing
该单位的两字母国家代码是什么
[Unknown]: cn
CN=localhost, OU= gxcx software ltd., O= gxcx, L=beijing,
ST=beijing, C=cn 正确吗?
[否]: y
输入<mykey>的主密码
(如果和 keystore 密码相同,按回车):
在当前目录下可以找到一个文件:server.keystore,其中就包含了自签名的证书。
在%TOMCAT_HOME%目录下新建目录keystore,并拷贝server.keystore到其目录下
修改%TOMCAT_HOME%/conf/server.xml文件。添加https的Connector。
<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="123456"
clientAuth="false" sslProtocol="TLS"/>
注意:
1)keystoreFile指向文件%TOMCAT_HOME%/keystore/server.keystore文
件。
2)keystorePass就是刚才生成certificate keystore的密码。
3)测试Https。
访问https://localhost:8443/,提示有不安全的证书,接受证书,看到可亲的tom猫
至此SSL协议配置结束。
2、搭建CAS的服务端
4.1 CAS在tomcat上的发布
1)将下载的server包解压
2)将解压包内的modules文件夹下的cas那个war文件,cas-server-webapp-3.3.5.war 拷贝到 tomcat的 webapps 目录,并更名为 cas.war
可以重新启动 tomcat,然后访问:https://localhost:8443/cas ,如果能出现
正常的 CAS 登录页面,则说明 CAS Server 已经部署成功。
5、搭建CAS客户端
密钥的交换。
1) 服务端密钥的导出
keytool -export -file client.cert -alias mykey -keystore
server.keystore
2) 客户端密钥的导入
将导出的client.cert密钥copy到客户端机器上在客户端机器上运行
keytool -import -trustcacerts -file client.cert -keypass changeit -
keystore "%JAVA_HOME%/jre/lib/security/cacerts" -alias mykey1
在tomcat 下面新建目录,casclient
在web-inf/lib下面加入cas-client-3.1.10的jar.
我这里用了spring 还加入了spring的相关类:
我这里是如下类;
backport-util-concurrent-3.1.jar
cas-client-core-3.1.10.jar
cas-client-integration-atlassian-3.1.10.jar
cas-client-support-distributed-ehcache-3.1.10.jar
cas-client-support-distributed-memcached-3.1.10.jar
commons-collections-3.2.jar
commons-logging-1.1.jar
ehcache-1.5.0.jar
jsr107cache-1.0.jar
lp.txt
servlet-api-2.3.jar
spring-aop.jar
spring-beans.jar
spring-context-support.jar
spring-context.jar
spring-core.jar
spring-jdbc.jar
spring-orm.jar
spring-security-acl-2.0.4.jar
spring-security-core-2.0.4.jar
spring-security-core-tiger-2.0.4.jar
spring-security-taglibs-2.0.4.jar
spring-test.jar
spring-tx.jar
spring-web.jar
xmlsec-1.3.0.jar
spring-security开头的可以不要。
配置文件我附件贴在后面。web.xml
/WEB-INF/classes/spring-appContext.xml 我也贴在后面。
启动后,你访问 http://localhost:8080/secure/目录就会重定向到cas单点登录服务器上,需要你登录以后再访问。
cas缺省的用户名/密码是admin/admin
web.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/classes/spring-appContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class>
</listener>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<filter>
<filter-name>CAS Authentication Filter</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
<init-param>
<param-name>targetBeanName</param-name>
<param-value>casAuthenticationFilter</param-value>
</init-param>
</filter>
<filter>
<filter-name>CAS Validation Filter</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
<init-param>
<param-name>targetBeanName</param-name>
<param-value>casValidationFilter</param-value>
</init-param>
</filter>
<filter>
<filter-name>CAS HttpServletRequestWrapperFilter</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
<init-param>
<param-name>targetBeanName</param-name>
<param-value>casHttpServletRequestWrapperFilter</param-value>
</init-param>
</filter>
<filter>
<filter-name>CAS Single Sign Out Filter</filter-name>
<filter-class>org.jasig.cas.client.session.SingleSignOutFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CAS Single Sign Out Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>CAS Authentication Filter</filter-name>
<url-pattern>/secure/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>CAS Validation Filter</filter-name>
<url-pattern>/secure/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>CAS HttpServletRequestWrapperFilter</filter-name>
<url-pattern>/secure/*</url-pattern>
</filter-mapping>
</web-app>
spring-appContext.xml
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
<bean id="casAuthenticationFilter"
class="org.jasig.cas.client.authentication.AuthenticationFilter">
<property name ="casServerLoginUrl" value="https://localhost:8443/cas/login"/>
<property name ="serverName" value="http://localhost:8080"/>
</bean>
<bean id="casValidationFilter"
class="org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter">
<property name="ticketValidator">
<ref bean="Cas20ServiceTicketValidator"/>
</property>
<property name="useSession" value="true"/>
<property name="serverName" value="http://localhost:8080"/>
<property name="redirectAfterValidation" value="true"/>
</bean>
<bean id="Cas20ServiceTicketValidator" class="org.jasig.cas.client.validation.Cas20ServiceTicketValidator">
<constructor-arg index="0" value="https://localhost:8443/cas" />
</bean>
<bean id="casHttpServletRequestWrapperFilter" class="org.jasig.cas.client.util.HttpServletRequestWrapperFilter"/>
</beans>
secure 下面的测试页面 index.jsp
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<%@ page contentType="text/html; charset=UTF-8" %>
<head>
<body>
<%="Hello"%>
你登录了;;<%= request.getRemoteUser() %>
</body>
</html>
可以用 request.getRemoteUser()获得用户登录名
分享到:
相关推荐
【LifeRay+CAS+LDAP+Tomcat 单点登录门户】是一种常见的企业级身份验证解决方案,它结合了多个组件来实现高效、安全的用户登录管理。在这个架构中,LifeRay 是一个开源的内容管理系统,用于构建企业门户;CAS...
5. **测试SSO功能**: 创建一个CAS客户端应用,配置相应的服务URL和验证机制,然后尝试登录,看是否能够实现单点登录。 6. **自定义和扩展**: 根据需求,可以进一步定制CAS Server的行为,如编写自定义认证模块、...
2. "CAS单点登录.docx" 应该包含了实施CAS单点登录的详细教程,可能涵盖了如何搭建CAS服务器、配置CAS客户端(即Tomcat)、配置Web应用以使用CAS服务,以及测试和调试的步骤。 3. "apache-tomcat-9.0.44.zip" 这是...
【标题】"CAS Tomcat整合单点登录Demo"是一个示例项目,展示了如何将CAS(Central Authentication Service)与Tomcat应用程序服务器集成,实现单点登录(Single Sign-On, SSO)的功能。CAS是一种开放源码的身份验证...
总之,“SSO之CAS单点登录详细图文教程.zip”是一个全面的指南,它将引导你通过每一步操作,实现CAS服务端和客户端的集成,最终搭建起一个可靠的SSO系统。在阅读文档和实践操作的过程中,你将深入理解SSO的工作原理...
CAS(Central Authentication Service)是一种广泛使用的开源单点登录(Single Sign-On, SSO)系统,主要功能是为多个应用提供统一的认证服务。`cas-overlay-template-5.2.x.zip` 是一个CAS服务器的定制模板,特别...
使用CAS框架实现SSO单点登录,其中包含: 1、CAS服务器端安装包 2、客户端源码包和所需的所有jar包 3、CAS+框架+SSO的实现.pdf 5、CAS+SSO实例安装和配置指南PDF版.rar 6、Tomcat中使用Yale+CAS实现单点登陆(SSO)....
CAS(Central Authentication Service)是一种广泛使用的开放源代码的单点登录(Single Sign-On,SSO)框架,由耶鲁大学开发并维护。SSO允许用户通过一次登录验证就能访问多个应用系统,无需在每个系统之间单独进行...
单点登录(SSO)是实现统一认证的一种技术,它允许用户在多个应用系统中使用单一登录凭证访问。 2. CAS(Central Authentication Service): CAS是实现SSO的一种协议,它主要用于Web应用,提供一种可靠且安全的...
SSO(Single Sign-On)单点登录是一种身份验证机制,允许用户在一次登录后访问多个相互关联的应用系统,而无需再次进行身份验证。本项目基于SpringBoot、CAS5.x、Shiro和Pac4j实现了SSO集成,下面将详细阐述这些技术...
综上所述,配置CAS在Linux下实现单点登录涉及到Java环境的搭建、CAS服务器的安装、配置、部署,以及客户端应用的集成。这个过程需要对Java Web、HTTP协议、身份验证机制有一定的了解,同时,文档和参考资源的使用至...
而CAS(Central Authentication Service)是一个开源的单点登录协议,它允许用户通过一个中央认证服务来访问多个应用,无需重复登录。 在实现Spring Security与CAS的集成过程中,主要涉及以下几个关键知识点: 1. ...
CAS(Central Authentication Service)是Java开发的一个开源的单点登录(Single Sign-On,简称SSO)框架,主要用于解决用户在多个应用系统间切换时需要多次认证的问题。它提供了一个集中式的登录入口,用户只需在一...
CAS(Central Authentication Service)单点登录(Single Sign-On,简称SSO)是一种网络认证协议,旨在简化用户在多个应用系统间的登录流程。当用户通过CAS认证后,可以在无需再次输入凭证的情况下访问已接入CAS的...
总之,CAS 4.0的单点登录服务器配置成功后,可以极大地提升用户体验,简化身份验证流程,并为权限控制提供了强大的基础。通过不断的测试和优化,你可以确保这个系统在实际环境中稳定可靠地运行。
在这个“cas5.3.1.rar”压缩包中,包含了实现CAS 5.3.1版本的单点登录服务器所需的所有组件和配置文件。 在描述中提到,这个服务已经配置完毕并正常运行。这意味着开发者或管理员只需对"WEB-INF\classes\...