`

cas服务端和应用端证书整合配置流程

阅读更多

证书的配置

主要分为两大步:服务端生成配置证书,应用端导入证书。

SSO服务端

  1. 生成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必须同当前主机完整名称一致!!)

  2. 导出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)

  3. 配置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

  1. 将mlongbosso.crt导入到应用服务器所使用的jre的可信任证书仓库中
    keytool -import -alias mlongbosso -file /home/ndoc/test/cas/mlongbosso.crt -keystore $JAVA_HOME/jre/lib/security/cacerts -storepass 123654

  2. 列出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保护的资源地址

测试客户端配置

测试客户端即测试人员所使用的浏览器端。

  1. 在测试浏览器中(受信任的根证书颁发机构项)导入mlongbosso.crt证书
  2. 访问任意一个需要sso验证的地址
  3. 跳转到sso登录界面后,输入正确的用户名和密码
  4. 正常返回到原页面
  5. 成功!!!!!!!

*附:命令记录

转自: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服务端和客户端war包.rar

    - 客户端应用配置:每个客户端应用需要在配置文件中指定CAS服务器地址和应用的服务URL,以便在用户访问时触发SSO流程。 5. **单点登出(Single Sign-Out, SSO)** CAS还支持单点登出功能,即用户在一个应用中登出...

    cas服务端完整构建

    ### cas服务端完整构建 #### 一、生成证书 在构建CAS服务端的过程中,生成证书是非常重要的步骤之一,因为证书确保了...在实际应用中,还需要根据具体需求进一步优化配置,并处理可能出现的安全问题和性能瓶颈。

    cas服务端-连接数据库版

    解压后,通常包含服务器端的配置文件、web应用程序、库文件和可能的示例配置。开发者需要根据自己的环境进行适当的修改,例如调整数据库连接配置,然后将CAS服务器部署到应用服务器(如Tomcat)上。 7. **身份验证...

    cas服务端和客户端可用代码

    1. **认证流程**:用户访问受保护的应用时,会被重定向到CAS服务端进行身份验证。成功后,服务端会返回一个票据(ticket-granting ticket, TGT),该票据被加密存储在用户的浏览器会话中。 2. **服务注册**:应用...

    CAS服务端文件下载

    这意味着你需要了解如何配置和运行CAS服务器,而不是编写与之交互的客户端应用程序。 文件列表中的`cas_server`可能包含了以下组件: 1. `pom.xml` - Maven项目的配置文件,列出了所有依赖项。 2. `src/main/java` ...

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

    这部分文档提供了CAS的详细配置信息,包括服务器端和客户端的配置步骤,以及可能出现的问题和解决方案。它将指导你如何安装、启动CAS服务器,如何配置服务注册,以及如何处理各种认证和授权场景。 6. **CAS服务端...

    cas服务端应用

    CAS(Central Authentication Service)是基于Java的开源身份验证框架,主要功能是实现单...总的来说,CAS服务端应用是构建单点登录系统的基石,通过合理的配置和使用,可以极大地提升用户体验,同时强化系统的安全性。

    cas 普通方式和SpringBoot方式客户端 普通方式服务端

    在本文中,我们将探讨如何在普通方式和Spring Boot方式下配置和使用CAS客户端和服务端。 首先,让我们了解一下`CMD生成证书命令.txt`。在CAS部署中,安全通信通常依赖于SSL/TLS证书,用于加密传输数据。这个文件...

    cas4.2.7服务端和客户端应用

    **CAS (Central Authentication Service) 知识点详解** CAS 是一个开源的身份验证框架,它允许用户...理解 CAS 的工作原理和配置方法,能够帮助开发者构建安全的SSO系统,同时利用 CAS 的扩展性与多种服务进行集成。

    cas服务端war包

    CAS服务端的war包,执行build.sh run可以直接运行,如果运行时报错,则需要安装\etc\cas\thekeystore,这个是个证书。

    cas 服务端和客户端 main是自定义服务端登陆页面 还有一个是5.2.3原版

    在这个整合项目中,CAS服务端与客户端的角色得到了清晰的划分,同时允许自定义登录页面和数据库认证方式。 **CAS服务端** CAS服务端是整个SSO架构的核心,它负责处理所有认证请求。在这个项目中,使用的是CAS 5.2.3...

    CAS服务端(非原生)

    CAS(Central Authentication Service)是一种基于Web的单一登录(Single Sign-On, SSO)协议,用于在多个应用系统间实现统一的认证。在这个“CAS服务端(非原生)”项目中,开发者对标准的CAS服务端进行了改造,以...

    CAS4.1.4服务端和客户端实例

    这些文件通常会指导你如何将CAS认证整合到你的应用中,例如通过修改web.xml文件配置CAS过滤器,或者设置相应的URL以与CAS服务器通信。 "cas"目录很可能是服务端的组成部分,包含了CAS服务器的代码或配置。这部分...

    cas4.1.4server服务端+client端

    在这个压缩包中,"cas4.1.4server服务端"包含了运行CAS服务器所需的所有文件,而"client"目录则包含了客户端的配置和库文件,使得其他应用能够与CAS服务器进行交互。 1. CAS服务端: - CAS服务器是整个系统的核心...

    CAS服务端war包(亲测可用)

    CAS,全称Central ...总之,CAS服务端war包提供了构建单点登录环境的基础,其部署和配置需要对Java Web应用、Servlet容器和SSO机制有一定的了解。正确配置和使用CAS可以极大地提升企业级应用的安全性和便捷性。

    cas.rar_cas java_cas服务端代码_单点登录

    CAS(Central Authentication Service)是...综上所述,这个“cas.rar”压缩包是学习和实践CAS单点登录服务端开发的宝贵资源,通过研究其中的代码,开发者可以掌握CAS的工作原理,进而实现和定制自己的SSO解决方案。

    cas 系统实例 服务端配置(一)

    标题 "cas 系统实例 服务端配置(一)" 提到的是 CAS(Central Authentication Service)系统的一个服务端配置教程。CAS 是一个开源的身份验证框架,主要用于实现单一登录(Single Sign-On, SSO)。在本教程中,我们...

    CAS服务端应用

    CAS(Central Authentication ...综上所述,CAS服务端应用是一个强大的工具,用于构建和管理跨平台的单点登录环境。理解和掌握上述知识点,有助于有效地部署和维护CAS服务器,从而提升企业或组织的信息化管理水平。

    cas 服务端

    cas服务端代码,版本是4.0版本这个版本是maven 版本,稳定性不错所以我选这个

    CAS服务端3.4.8安装手册

    ### CAS服务端3.4.8安装手册知识点详解 #### 一、引言 ...通过以上内容,读者可以详细了解CAS 3.4.8的安装配置流程,包括SSL环境的建立、CAS服务器和客户端的具体实施步骤。这有助于确保系统的安全性和稳定性。

Global site tag (gtag.js) - Google Analytics