搭建CAS分为以下几个步骤:
1:下载CAS服务端及客户端(客户端因需求原因,基本上没用到)
2:配置TOMCAT的SSL
3:发布CAS服务端
4:配置CAS客户端
5:测试
下面将按照步骤一步步进行
一:下载CAS服务端及客户端
CAS的官网地址:http://www.jasig.org/cas
CAS服务端目前的最新版本是3.4.2,我也是使用的这个版本,首页就有下载提示
下载之后的文件全称是:cas-server-3.4.2-release.zip
CAS客户端我使用的是JAVA版的,目前最新版本是3.1.10,
下载地址:http://www.ja-sig.org/downloads/cas-clients/
二:配置TOMCAT的SSL
这个SSL说复杂也挺复杂,说容易也不难,就看您想配个什么样的SSL了
我配的是超简单的那种SSL,就是单向的,只有服务器验证的,使用JDK自带的keytool工具生成的证书。
1:创建keyPair
-
keytool -genkey -alias cas -keyalg RSA -keystore cas-store.keystore -validity
365
证书的CN值应该是CAS服务端所在机器的域名,当然机器名也可,或者干脆使用localhost,这将直接影响到CAS客户端是否能请求到CAS服务端,我的环境是局域网,所以直接使用机器名就行“JcBay-PC”
2:导出公钥并导入到信任证书库
这一步如果不搞的话,那么客户端在请求CAS服务端时将抛错提示说什么找不到证书请求路径之类的信息
-
keytool -export -trustcacerts -alias cas -file cas-key.cer -keystore cas-store.keystore
-
-
keytool -import
-trustcacerts -alias cas-server -file cas-key.cer -keystore %JAVA_HOME%/jre/lib/security/cacerts -storpass changeit
3:配置Tomcat的server.xml
-
<Connector port=
"8443"
protocol=
"HTTP/1.1"
SSLEnabled=
"true"
-
maxThreads="150"
scheme=
"https"
secure=
"true"
-
clientAuth="false"
sslProtocol=
"TLS"
-
keystoreFile="conf/cas-store.keystore"
-
keystorePass="111111"
-
/>
这样,Tomcat的SSL配置就结束了,需要提醒各位的是,不同版本的Tomcat所配置SSL的方法都不同,所以请根据自己所用的版本使用正确的配置方法
https://localhost:8443 测试是否可以看到小猫
三:发布CAS服务端
将下载的cas-server-3.4.2-release.zip解压缩,在modules目录中拷贝cas-server-webapp-
3.4.2.war到Tomcat目录下的webapps中改名为“cas”。在modules目录中还有一些JAR包,这些JAR包都是对各种认证方式
的支持包,比如JDBC、LDAP、RADIUS、X509等等,更重要的是有源码,可以哪里不爽改哪里!
启动Tomcat,
四:配置CAS客户端
在我的测试例子中,采用的是JAVA版的客户端,并只是简单测试了SSO和跨域登录,均实用ST完成,并未使用代理票据
CAS的客户端源码我简单的看了看,其实主要也就是干两件事,一是请求CAS服务端并获得ST(or PT),而是验证ST并获得账号,当然,其它比如根据Filter的参数设置,也会干些其它的事。
按照官网的介绍,配置CAS客户端有很多种方法,当然咱选最简单的那种(web.xml)配置
实现客户端的Filter即可,根据官网的介绍,我也是能简单就简单,所以参数除了必选之外,都保持默认值
将下载的CAS客户端解压缩,将module目录中的所有JAR包复杂到业务系统的lib目录下,然后编辑业务系统的web.xml文件,加下以下配置
-
<filter>
-
<filter-name>CAS Authentication Filter</filter-name>
-
<filter-class
>org.jasig.cas.client.authentication.AuthenticationFilter</filter-
class
>
-
<init-param>
-
<param-name>casServerLoginUrl</param-name>
-
<param-value>https:
-
</init-param>
-
<init-param>
-
<param-name>serverName</param-name>
-
<param-value>JcBay-PC:8080
</param-value>
-
</init-param>
-
<init-param>
-
<param-name>gateway</param-name>
-
<param-value>false
</param-value>
-
</init-param>
-
</filter>
-
<filter>
-
<filter-name>CAS Validation Filter</filter-name>
-
<filter-class
>org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter</filter-
class
>
-
<init-param>
-
<param-name>casServerUrlPrefix</param-name>
-
<param-value>https:
-
</init-param>
-
<init-param>
-
<param-name>serverName</param-name>
-
<param-value>JcBay-PC:8080
</param-value>
-
</init-param>
-
<init-param>
-
<param-name>acceptAnyProxy</param-name>
-
<param-value>true
</param-value>
-
</init-param>
-
</filter>
-
<filter>
-
<filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
-
<filter-class
>org.jasig.cas.client.util.HttpServletRequestWrapperFilter</filter-
class
>
-
</filter>
-
<filter>
-
<filter-name>CAS Assertion Thread Local Filter</filter-name>
-
<filter-class
>org.jasig.cas.client.util.AssertionThreadLocalFilter</filter-
class
>
-
</filter>
别忘了配置mapping标签,我都采用的/*作用域
五:测试
我的测试环境是,服务端和客户端均在同一台机器上,所以,我直接输入URL:http://localhost:8080/BusTest
BusTest为业务系统名,这时会跳转到CAS登录界面,输入账号口令(均一致),确定后跳转到BusTest业务系统,表示成功。
假如说您的客户端和CAS服务端不在同一台机器,那么您的客户端就需要将服务端的公钥导入到您本地的信任库中,并且请确保服务端的域名与之前创建KEYPAIR时所填的域相同
据官网介绍说,因为CAS使用的COOKIE为服务端有效,所以没有域的概念,不论你的客户端运行在何处,只要是使用的同一个CAS服务端,那么都能实现SSO功能。
分享到:
相关推荐
2. **安装 CAS**:将解压后的 cas-server-3.4.2.1 目录放置到服务器的适当位置。 3. **配置 CAS**:修改 `cas.properties` 文件以设置服务器地址、数据库连接等参数。 4. **注册服务**:在 `servicesRegistry.config...
CAS服务器是一个Web应用,通常部署在Servlet容器如Tomcat上。为了实现与Access数据库的连接,我们需要在CAS服务器的配置中添加相关的数据库驱动和连接参数。 1. **安装Tomcat**:确保你已经下载并安装了Tomcat...
1. **安装和配置CAS服务器**: 部署`cas-server-webapp`到应用服务器,配置CAS服务器以适应您的环境,如数据库连接、认证源等。 2. **配置Liferay**: 在Liferay中配置CAS客户端插件,设置SSO属性,确保与CAS服务器...
在“cas-3.4.1_单点登录_CAS_”这个项目中,你将获得一个完整的CAS服务器源码和相关的测试用例,这对于理解和部署CAS系统是非常有价值的。 单点登录是一种身份验证机制,它允许用户在一个应用系统中登录后,无需...
1. **Web项目结构**:包含了Web应用的必要目录结构,如WEB-INF、src、lib等,其中src存放Java源代码,WEB-INF下有web.xml配置文件,定义了CAS服务器的部署描述。 2. **CAS服务器的核心组件**:包括了...
cas-server-webapp-3.3.3.war改名为cas.war部署到web服务器,作为单点登录的服务器。
总的来说,CAS 3.4.5提供了SSO解决方案的关键组件,源码和WAR包的组合为开发者提供了灵活性,既可以直接部署运行,也可以进行深度定制。如果你需要实现单点登录功能,这个资源将是一个有价值的起点。
**CAS服务器版本**:教程中使用了两个版本的CAS Server——`cas-server-3.4.3.1`和`cas-server-3.4.10`,以及对应的客户端版本`cas-client-3.1.12`和`cas-client-3.2.1`,这展示了不同版本之间的兼容性和升级路径。...
ACS5.2(Access Control Server 5.2)是一个网络设备访问控制解决方案,提供了比传统AAA(认证、授权、审计)...这样的部署经验文档不仅为系统管理员提供了配置的步骤,也体现了ACS5.2在企业网络中的实际应用价值。
- 通常情况下VSR安装在VMware平台上不支持云点部署。 #### 九、零存储的优势 **9.1 架构特性** - 采用scale-out架构,易于水平扩展。 - 存储计算一体化,便于统一管理。 **9.2 成本效益** - 使用X86服务器作为...
- **安装与配置:**提供了安装Visual Studio 2010的步骤以及如何配置开发环境以适应不同项目需求。 **1.2 对象与Visual Basic** - **对象概念:**详细讲解了面向对象编程的基本原理,包括类、对象、继承、封装等...
- CAS (`spring-security-cas.jar`):提供对 CAS 协议的支持。 - OpenID (`spring-security-openid.jar`):提供 OpenID 认证支持。 - Test (`spring-security-test.jar`):提供测试工具类。 #### 二、Spring ...
CAS 可以由应用程序的管理员或者部署者进行配置,也可以通过代码动态调整。这样可以灵活地根据实际需求来定制安全策略。 #### 8. 中间语言 (IL) ##### 8.1 什么是中间语言? 中间语言 (Intermediate Language, IL...
为了确保Direct Push功能正常运作,首先需要确保Exchange Server 2003已安装最新的服务包(Service Pack 2 或更高版本)。以下步骤概述了如何配置服务器: **步骤1:启用Exchange ActiveSync服务** - 登录到运行...
- **3.4. CAS例子** 集成了CAS(Central Authentication Service),实现单点登录。 - **3.5. Pre-Authentication例子** 展示了预认证机制的使用方法。 ##### 4. Spring Security社区 - **4.1. 任务跟踪** ...
1. 目录 1. 2. 目录 .........................................................................................................................................................1 JVM ........................