证书的配置
主要分为两大步:服务端生成配置证书,应用端导入证书。
SSO服务端
-
生成keystore, 此文件用于tomcat/conf/server.xml中配置及导出证书;
keytool -genkey -keyalg RSA -alias mlongbosso -dname "cn=passport.mlongbo.com" -keystore /home/ndoc/test/cas/mlongbosso.keystore -storepass 123654
说明:指定使用RSA算法,生成别名为mlongbosso的证书,口令为123654,证书的DN为”cn=passport.mlongbo.com” ,这个DN必须同当前主机完整名称一致!!)
-
导出mlongbosso.crt证书
keytool -export -alias mlongbosso -file /home/ndoc/test/cas/mlongbosso.crt -keystore /home/ndoc/test/cas/mlongbosso.keystore -storepass 123654
(注释: 从mlongbosso.keystore中导出别名为mlongbosso的证书,生成文件mlongbosso.crt) -
配置Tomcat的HTTPS服务
keystoreFile属性值为mlongbosso.keystore文件路径, keystorePass属性值为证书存贮口令<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="/home/ndoc/test/cas/mlongbosso.keystore" keystorePass="123654" />
应用端
应用端即SSO客户端.
注释: Windows下为%JAVA_HOME%
, Linux下为$JAVA_HOME
-
将mlongbosso.crt导入到应用服务器所使用的jre的可信任证书仓库中
keytool -import -alias mlongbosso -file /home/ndoc/test/cas/mlongbosso.crt -keystore $JAVA_HOME/jre/lib/security/cacerts -storepass 123654
-
列出jre可信任证书仓库中证书名单,验证导入是否成功,如果导入成功,应该在列表中能找到mlongbosso这个别名
keytool -list -keystore $JAVA_HOME/jre/lib/security/cacerts -storepass 123654
注意:如果此处导入失败,或者要重新导入,需要先删除%JAVA_HOME%/jre/lib/security/cacerts文件(删除前请备份)
为应用服务器开启CAS
应用服务器即SSO客户端。修改web.xml文件,增加如下filter(需要添加在其他filter之前,如struts2):
<!-- cas 客户端登录验证 -->
<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://passport.mlongbo.com:8443/login</param-value>
</init-param>
<init-param>
<param-name>serverName</param-name>
<param-value>http://cas.mlongbo.com:8080/</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CAS Authentication Filter</filter-name>
<url-pattern>/account/*</url-pattern>
</filter-mapping>
<!-- cas 凭证认证 -->
<filter>
<filter-name>CAS Validation Filter</filter-name>
<filter-class>org.jasig.cas.client.validation.Cas10TicketValidationFilter</filter-class>
<init-param>
<param-name>casServerUrlPrefix</param-name>
<param-value>https://passport.mlongbo.com:8443/</param-value>
</init-param>
<init-param>
<param-name>serverName</param-name>
<param-value>http://cas.mlongbo.com:8080/</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CAS Validation Filter</filter-name>
<url-pattern>/account/*</url-pattern>
</filter-mapping>
<!-- HttpServletRequet的包裹类
让他支持getUserPrincipal,getRemoteUser方法来取得用户信息-->
<filter>
<filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
<filter-class>org.jasig.cas.client.util.HttpServletRequestWrapperFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
<url-pattern>/account/*</url-pattern>
</filter-mapping>
<!-- Assertion信息放在ThreadLocal变量中 -->
<filter>
<filter-name>CAS Assertion Thread Local Filter</filter-name>
<filter-class>org.jasig.cas.client.util.AssertionThreadLocalFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CAS Assertion Thread Local Filter</filter-name>
<url-pattern>/account/*</url-pattern>
</filter-mapping>
几个配置项说明:
- serverName指当前应用的域名地址和端口(80端口可不写)
- casServerLoginUrl配置sso登录地址
- casServerUrlPrefix设置sso应用地址
- url-pattern配置需要sso保护的资源地址
测试客户端配置
测试客户端即测试人员所使用的浏览器端。
- 在测试浏览器中(受信任的根证书颁发机构项)导入mlongbosso.crt证书
- 访问任意一个需要sso验证的地址
- 跳转到sso登录界面后,输入正确的用户名和密码
- 正常返回到原页面
- 成功!!!!!!!
*附:命令记录
转自:http://mlongbo.com/2015/cas%E6%9C%8D%E5%8A%A1%E7%AB%AF%E5%92%8C%E5%BA%94%E7%94%A8%E7%AB%AF%E8%AF%81%E4%B9%A6%E6%95%B4%E5%90%88%E9%85%8D%E7%BD%AE%E6%B5%81%E7%A8%8B/
相关推荐
- 客户端应用配置:每个客户端应用需要在配置文件中指定CAS服务器地址和应用的服务URL,以便在用户访问时触发SSO流程。 5. **单点登出(Single Sign-Out, SSO)** CAS还支持单点登出功能,即用户在一个应用中登出...
### cas服务端完整构建 #### 一、生成证书 在构建CAS服务端的过程中,生成证书是非常重要的步骤之一,因为证书确保了...在实际应用中,还需要根据具体需求进一步优化配置,并处理可能出现的安全问题和性能瓶颈。
解压后,通常包含服务器端的配置文件、web应用程序、库文件和可能的示例配置。开发者需要根据自己的环境进行适当的修改,例如调整数据库连接配置,然后将CAS服务器部署到应用服务器(如Tomcat)上。 7. **身份验证...
1. **认证流程**:用户访问受保护的应用时,会被重定向到CAS服务端进行身份验证。成功后,服务端会返回一个票据(ticket-granting ticket, TGT),该票据被加密存储在用户的浏览器会话中。 2. **服务注册**:应用...
这意味着你需要了解如何配置和运行CAS服务器,而不是编写与之交互的客户端应用程序。 文件列表中的`cas_server`可能包含了以下组件: 1. `pom.xml` - Maven项目的配置文件,列出了所有依赖项。 2. `src/main/java` ...
这部分文档提供了CAS的详细配置信息,包括服务器端和客户端的配置步骤,以及可能出现的问题和解决方案。它将指导你如何安装、启动CAS服务器,如何配置服务注册,以及如何处理各种认证和授权场景。 6. **CAS服务端...
CAS(Central Authentication Service)是基于Java的开源身份验证框架,主要功能是实现单...总的来说,CAS服务端应用是构建单点登录系统的基石,通过合理的配置和使用,可以极大地提升用户体验,同时强化系统的安全性。
在本文中,我们将探讨如何在普通方式和Spring Boot方式下配置和使用CAS客户端和服务端。 首先,让我们了解一下`CMD生成证书命令.txt`。在CAS部署中,安全通信通常依赖于SSL/TLS证书,用于加密传输数据。这个文件...
**CAS (Central Authentication Service) 知识点详解** CAS 是一个开源的身份验证框架,它允许用户...理解 CAS 的工作原理和配置方法,能够帮助开发者构建安全的SSO系统,同时利用 CAS 的扩展性与多种服务进行集成。
CAS服务端的war包,执行build.sh run可以直接运行,如果运行时报错,则需要安装\etc\cas\thekeystore,这个是个证书。
在这个整合项目中,CAS服务端与客户端的角色得到了清晰的划分,同时允许自定义登录页面和数据库认证方式。 **CAS服务端** CAS服务端是整个SSO架构的核心,它负责处理所有认证请求。在这个项目中,使用的是CAS 5.2.3...
CAS(Central Authentication Service)是一种基于Web的单一登录(Single Sign-On, SSO)协议,用于在多个应用系统间实现统一的认证。在这个“CAS服务端(非原生)”项目中,开发者对标准的CAS服务端进行了改造,以...
这些文件通常会指导你如何将CAS认证整合到你的应用中,例如通过修改web.xml文件配置CAS过滤器,或者设置相应的URL以与CAS服务器通信。 "cas"目录很可能是服务端的组成部分,包含了CAS服务器的代码或配置。这部分...
在这个压缩包中,"cas4.1.4server服务端"包含了运行CAS服务器所需的所有文件,而"client"目录则包含了客户端的配置和库文件,使得其他应用能够与CAS服务器进行交互。 1. CAS服务端: - CAS服务器是整个系统的核心...
CAS,全称Central ...总之,CAS服务端war包提供了构建单点登录环境的基础,其部署和配置需要对Java Web应用、Servlet容器和SSO机制有一定的了解。正确配置和使用CAS可以极大地提升企业级应用的安全性和便捷性。
CAS(Central Authentication Service)是...综上所述,这个“cas.rar”压缩包是学习和实践CAS单点登录服务端开发的宝贵资源,通过研究其中的代码,开发者可以掌握CAS的工作原理,进而实现和定制自己的SSO解决方案。
标题 "cas 系统实例 服务端配置(一)" 提到的是 CAS(Central Authentication Service)系统的一个服务端配置教程。CAS 是一个开源的身份验证框架,主要用于实现单一登录(Single Sign-On, SSO)。在本教程中,我们...
CAS(Central Authentication ...综上所述,CAS服务端应用是一个强大的工具,用于构建和管理跨平台的单点登录环境。理解和掌握上述知识点,有助于有效地部署和维护CAS服务器,从而提升企业或组织的信息化管理水平。
cas服务端代码,版本是4.0版本这个版本是maven 版本,稳定性不错所以我选这个
### CAS服务端3.4.8安装手册知识点详解 #### 一、引言 ...通过以上内容,读者可以详细了解CAS 3.4.8的安装配置流程,包括SSL环境的建立、CAS服务器和客户端的具体实施步骤。这有助于确保系统的安全性和稳定性。