在做完了TOMCAT的SSL设置后,接下来我们用CAS做一个简单的实例。
一、环境准备
下载相应的服务器端包和客户端包
cas官方网站
http://www.jasig.org/cas
下载最新的服务端 CAS Server 3.3.3 Final
cas官方网站上面的客户端下载地址比较隐秘,没有完全公开,具体地址为
http://www.ja-sig.org/downloads/cas-clients/
下载最新的cas-client-3.1.6-release.zip
二、服务器端设置
将服务器端解压,将modules下面的cas-server-webapp-3.3.3.war部署到web服务器,重命名为CAS.war,作为单点的服务器。
三、客户端设置
1、解压后把modules下面的包放到我们的web应用中。导入相庆的SPRING.JAR包
2.配置web.xml,注意encodingFilter要提前配置,不然会出现数据插入数据库的时候有乱码。
serverName是我们web应用的地址和端口
<context-param>
<param-name>serverName</param-name>
<param-value>www.test.com:9080</param-value>
</context-param>
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>
org.springframework.web.filter.CharacterEncodingFilter
</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>*.htm</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>*.ftl</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>*.xhtml</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>*.html</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>*.shtml</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>*.vm</url-pattern>
</filter-mapping>
<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>
<listener>
<listener-class>
org.jasig.cas.client.session.SingleSignOutHttpSessionListener
</listener-class>
</listener>
<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://www.test.com:8443/cas/login</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://www.test.com:8443/cas</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>
<filter-mapping>
<filter-name>CAS Authentication Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>CAS Validation Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>CAS Assertion Thread Local Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
四、问题
在做完上述操作时,可能你会成功运行。但也有会发生以下错误:
unable to find valid certification path to requested target的异常
归根到底原因为:
产生证书导入的是JDK与TOMCAT所依赖的JRE环境不是同一个JRE。
解决方法:
将证书导入到相应的JRE中即可。
五、FILTER相应参数:
分享到:
相关推荐
例如,CAS(Central Authentication Service)是一个常用的开源SSO协议,提供了简单且安全的身份验证框架。 5. **配置文件**:项目中可能会包含配置文件,用于设置AC和SP之间的通信参数,如URL、秘钥、信任关系等。...
本实例将深入探讨如何实现一个简单的SSO系统。 首先,理解SSO的工作原理是至关重要的。SSO的核心在于身份验证中心(Identity Provider,IDP),用户首次登录IDP时进行身份验证。一旦验证成功,用户可以通过票据...
### 二、简单实例解析 这个实例展示了如何在PHP中实现完全跨单点域登录。它包括三个项目:`oa`、`bbs`和`blog`,每个项目都有自己的登录和主页。 #### 1. 配置目录结构 在服务器根目录下创建三个项目目录,并在根...
这个简单的CAS SSO SpringMVC demo是一个很好的学习资源,对于想要理解如何在非HTTPS环境下实现SSO的开发者来说,它是很好的起点。然而,为了提高安全性,强烈建议在生产环境中使用HTTPS。同时,熟悉CAS的API和配置...
nginx-sso-用于nginx的简单脱机SSO nginx-sso是一个简单的单点登录(SSO)解决方案,可与nginx和nginx auth_request模块一起使用。 就服务提供商而言,它使用ECC公钥签名和cookie以脱机方式对用户进行身份验证。 ...
本示例"SSO-CASDemo"是一个简单的CAS整合演示,它包含三个Tomcat服务器实例,分别为app1、app2和CAS服务器。这些Tomcat实例分别部署了不同的应用,通过CAS进行统一的身份验证。这个demo是为了帮助开发者更好地理解和...
Jasny SSO是相对简单直接的单点登录(SSO)解决方案。 使用SSO,登录到一个网站将对所有联属网站进行身份验证。 这些站点不需要共享顶级域。 这个怎么运作 使用SSO时,可以区分3个方: 客户端-这是访客的浏览器 ...
2. **OAuth 2.0和OpenID Connect协议支持**:IdentityServer实现了这两个广泛使用的开放标准,OAuth 2.0用于授权,OpenID Connect则是一个身份验证层,构建在OAuth 2.0之上,提供简单的用户身份验证API。 3. **JWT...
SSO,全称为Single Sign-On...总的来说,"simple-sso.zip"中的内容为我们提供了一个简单的SSO实现框架,包括了服务器、客户端和子系统的代码,通过理解和学习这个例子,开发者可以更好地掌握SSO的工作原理和实现方式。
SSO(Single Sign-On)单点登录是一种身份验证机制,允许用户在一次登录后访问多个相互关联的应用系统,而无需再次进行身份验证。本项目基于SSM(Spring、SpringMVC、...这个项目为理解和实践SSO提供了很好的实例。
在“Jasny-Bootstrap 的简单实例”中,我们将探讨如何利用这个库来实现固定格式的文本展示和其他特性。 首先,Bootstrap是一个流行的前端开发框架,它包含了CSS、JavaScript组件和字体图标,用于快速构建响应式和...
在实际应用中,Google的G Suite就是一个跨域SSO的例子。用户在Google账户(IDP)登录后,可以无缝访问Gmail、Google Drive等其他Google服务(SP)。这是因为Google使用了OpenID Connect和OAuth2.0协议,确保了跨域...
单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。 较大的企业内部,一般都有很多的...
总结来说,aws-cdk.aws-sso-1.107.0是AWS SSO与Python结合的有力工具,它为后端开发者提供了一种高效的管理方式,使得在复杂的云计算环境中配置和维护权限变得更加简单。借助这个库,开发者可以更加专注于业务逻辑,...
本文实例讲述了asp.net简单实现单点登录(SSO)的方法。分享给大家供大家参考,具体如下: 单点登录(Single Sign On , 简称 SSO )是目前比较流行的服务于企业业务整合的解决方案之一, SSO 使得在多个应用系统中,...
通过上述方式,我们可以利用ASP.NET构建一个简单的SSO系统,适用于二级域名和跨域场景。虽然这个例子中的代码简洁明了,但实际的生产环境中,SSO系统可能需要考虑更多的安全性和扩展性问题,如Token的安全传输、防止...
AWS SSO Admin API是Boto3中的一个部分,提供了用于管理SSO实例、用户、组和权限集的接口。使用mypy_boto3_sso_admin库,开发者可以为这些API调用添加类型注解,从而在编写与AWS SSO交互的代码时获得更好的类型安全...
Vue 是当前最流行的前端框架之一,具有灵活、灵活、简洁的特点。它提供了强大的组件、指令、插件等功能,可以轻松地构建复杂的前端应用程序。使用 Vue,我们可以轻松地构建高性能、响应式的前端应用程序。 SSO 单点...
`boto3`提供了简单易用的API,使得开发者可以方便地执行各种AWS操作,如创建EC2实例、管理S3对象或使用Lambda函数。 **mypy_boto3_sso** `mypy_boto3_sso`库是针对`boto3`的一个类型定义扩展,专注于AWS Single ...