`

基于jasig的sso

阅读更多
<div class="iteye-blog-content-contain" style="font-size: 14px"></div>
整体的结构就是cas+shiro实现单点登录和权限管理。怎么安装就不说了网上一大堆,在这总结一些问题的处理方法
1、未能识别出目标票根
org.jasig.cas.client.validation.TicketValidationException: 
未能够识别目标'ST-2-jEo1qANhs9HgZ7VKC5Hf-cas'票根

原因:是由于客户端应用web.xml配置中的casServerLoginUrl和casServerUrlPrefix两个URL属性的域名与证书中定义的不一致,或者你的地址配置的不对,配置serverUrl就到cas配置serviceUrl就到端口号

2、循环重定向
解决方案为查看service与loginUrl中的是否一致,这是两个概念,service是请求的页面,当用户访问这个页面是会跳转至公共的验证平台,而loginUrl中的service是回调的地址,如果两个地址设定为同一地址的话就会出现循环重定向的问题

3、自定义验证报异常
cas登录端修改cas-server-surport-jdbc包中的class要保证与原cas所用包的环境一致,替换class后运行tomcat会包creating bean exception这是缺少mysql的jar包导入就可以了

4、配置客户端返回更多信息,具体的配置过程网上很多这里只提报错。
误区:<constructor-arg index="1" value="select * from user where username=?"/> 这是正确的配置方法
<constructor-arg index="1" value="select * from user where {0}"/> 这是错误的配置方法

5、去掉cas地址栏的sessionid
top.jsp session=false 例<%@ page session="false" %>  去掉Url中的sessionid

6、shiro的集成
shiro加入主要有什么意义呢?我总结了以下几点:a、大局上的权限控制,shiro提供从角色到权限的系统化校验,而且shiro的加密也是较比传统更安全啊。b、shiro可以过滤url。我们很多情况下需要cas放过某些url并不是/*式的拦截,如何能细颗粒的控制这些url,显然通过cas的filter映射拦截是不能尽如人意的,所以我们引入shiro,可以指定需要过滤的url为anon,需要保护的就指定为authc。还可以基于角色过滤等等。c、shiro提供很成熟的session机制,可以配合cas的票据完美保存cas的会话。d、如果用户非常态登录,不通过正常的login登录那么回跳到应用的时候就会有一些问题,我们集成了shiro之后就可以拿到重定向前的请求放在shirosaverequest里,这样就可以解决回跳重定向的问题了

7、cas的集群
cas集群我这里用到的是tomcat,只需要配置tomcat的session共享就可以了

未尽 待完善
分享到:
评论

相关推荐

    东北大学信息化建设:基于JASIG CAS的统一身份认证系统

    ### 东北大学信息化建设:基于JASIG CAS的统一身份认证系统 #### 概述 随着信息技术的发展,高校信息化建设已成为提升教育质量和管理效率的重要手段。东北大学作为中国东北地区的重要学府,在推进信息化进程中采取...

    modify-jasig-cas:基于jasig-cas自定义自己的cas服务器

    在本文中,我们将深入探讨如何基于Jasig CAS自定义自己的CAS服务器。 1. **Jasig CAS架构与工作原理** - CAS服务器是整个系统的核心,负责验证用户的凭证。 - 客户端应用(Service Provider)通过重定向或POST...

    JASIG CAS 3 Learning Note 1 -- getting started

    JASIG CAS(Central Authentication Service)是一款开源的身份验证系统,广泛应用于多应用系统中的单点登录(Single Sign-On, SSO)。CAS 3 是其第三个主要版本,提供了更加稳定、可扩展和安全的认证服务。本文将...

    sso单点登录入门

    随着技术的不断发展,SSO的实现方式也在不断创新,从传统的基于Cookies的解决方案到基于标准协议(如SAML、OAuth)的现代化SSO架构,SSO已成为企业级系统不可或缺的一部分。通过选择合适的SSO方案和技术,企业能够...

    tomcat配置ssl-单点登录(sso).rar

    总的来说,这个压缩包提供了实现基于CAS的Tomcat SSO的完整流程,包括SSL配置和跨域SSO的解决方案。通过阅读和按照这些文档操作,你应该能够成功地在你的Tomcat环境中部署一个安全的单点登录系统。

    SSO单点登录

    CAS于2004年12月正式成为JASIG(Joint Administrative Systems Interoperability Group)的一个项目,之后逐渐发展成为广泛使用的SSO方案之一。 #### CAS组成部分 CAS主要包括两大部分: - **CASServer**:负责认证...

    架构师熟悉cas技术方案实现sso

    6. **基于SAML**:使用SAML(Security Assertion Markup Language)作为标准化的数据交换格式,实现SSO。SAML已被OASIS批准为SSO的标准协议。 #### 三、CAS的基本原理 ##### 3.1 结构体系 CAS的体系结构主要包括...

    CAS单点登录(SSO)教程

    CAS是一个开源项目,由Jasig组织维护,主要为Web应用提供单点登录功能。CAS的核心机制包括认证服务(CAS Server)和代理服务(CAS Client)两个部分: - **认证服务**:负责用户的认证处理,提供认证逻辑、用户凭证验证...

    cas sso学习心得

    【CAS SSO学习心得】 CAS(Central Authentication Service)是一种广泛使用的单点登录(Single Sign-On,简称SSO)框架,主要由Java编写。在本文中,我们将深入探讨如何配置CAS服务器以及客户端,以便实现单点登录...

    跨域SSO实例安装和配置指南

    &lt;filter-class&gt;org.jasig.cas.client.session.SingleSignOutFilter &lt;filter-name&gt;CASFilter &lt;url-pattern&gt;/* ``` 此外还需要配置CAS登录URL和其他相关参数。 ##### 步骤六:下载和部署CAS服务器 在IDP...

    CAS之SSO配置手册.docx

    &lt;bean class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler"&gt; &lt;!-- 添加其他相关属性配置 --&gt; ``` 重新启动Tomcat后,CAS Server将通过配置的数据库验证用户身份。此外,CAS还支持其他验证...

    Jeecg配置单点登录 登录验证完整代码

    在Java环境中,我们可以使用Jasig CAS服务器作为SSO的实现。 配置Jeecg与CAS进行单点登录涉及以下几个步骤: 1. **安装和配置CAS服务器**:首先,你需要下载并安装Jasig CAS服务器,配置服务器的主配置文件`cas....

    cas-server-3.5.2.1-release.zip

    CAS(Central Authentication Service)是 Jasig 组织开发的一个开源的身份验证框架,它提供了一种集中式的、基于Web的单点登录(Single Sign-On, SSO)解决方案。"cas-server-3.5.2.1-release.zip" 是 CAS 服务器的...

    前后端未分离的单点登录

    Java在SSO实现中扮演了关键的角色,常见的开源SSO框架如Spring Security CAS、Jasig CAS等都是基于Java开发的。这些框架提供了实现SSO所需的各种组件和接口,如服务提供者(Service Provider,SP)和身份验证服务...

    详解使用django-mama-cas快速搭建CAS服务的实现

    当公司有多条产品线,或者有多个不同的应用的时候,每次都做登录是个非常烦人的事情。(原谅我没有从SSO的角度看...无论是OSC还是Github里面,基于Jasig的实现还是非常多的,不过Jasig也太多配置项了。。看着头晕。大周

    java-cas-client-3.2.0

    CAS Server 是一套基于 Java 实现的服务,该服务以一个 Java Web Application 单独部署在与 servlet2.3 兼容的 Web 服务器上,另外,由于 Client 与 CAS Server 之间的交互采用 Https 协议,因此部署 CAS Server 的...

    单点登录的例子 java写的

    这个例子可能是基于其中之一或自定义实现的。下面我们将深入探讨SSO的工作原理和可能的Java实现方法。 1. **SSO工作原理**: - **认证中心(Identity Provider,IdP)**:负责验证用户的凭证,如用户名和密码。 -...

    利用CAS实现单点登录的完整实例

    Jasig CAS提供了丰富的API和配置选项,使得开发者能够轻松地集成SSO功能。在配置CAS服务器时,我们需要设置服务器的URL、数据库连接信息(如果使用数据库存储用户信息)、以及认证策略等。同时,每个需要保护的应用...

    cas客户端集成单点登录代码

    CAS(Central Authentication Service)是基于Java的开源身份验证框架,用于实现单一登录(Single Sign-On, SSO)。在本文中,我们将深入探讨如何将CAS客户端集成到您的应用程序中,实现单点登录功能。 首先,理解...

Global site tag (gtag.js) - Google Analytics