`
boogie
  • 浏览: 235623 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
社区版块
存档分类
最新评论

[CAS mail]Making CAS authentication parameterizable

阅读更多
You don't have to have the CAS server pass the info back, you could also have the application look up the necessary fields in your directory system (database, LDAP, whatever). I just feel that's added complexity which would be nice to handled by the CAS server. Easier for app developers to integrate, and less load on the directory server. I extended the Principal class, simply adding the new fields I wanted and adding access methods. Very simple. I think I also had to modify the CredentialToPrincipalResolver class. The changes in the deployerConfigContext.xml file are all pretty standard, calling the correct auth handler and setting the correct CToPResolver is all that's needed. I'm hoping to document the changes I made in a How-To format, but won't happen for a few weeks at least. The changes I made are all viewable through our subversion repository though: <https://dev.dartmouth.edu/projects/softdev/webAuth/browser/server/ tags/3.0.4-Production/localPlugins/src> The classes you'd be most interested in are: DartmouthPrincipal.java DartmouthUsernamePasswordCredentialsToPrincipalResolver.java PrincipalBearingCredentialsToDartPrincipalResolver.java X509CertificateCredentialsToDartIdentifierPrincipalResolver.java Also, to return those new fields you have to modify the jsp file that generates the XML response: casServiceValidationSuccess.jsp: <https://dev.dartmouth.edu/projects/ softdev/webAuth/browser/server/tags/3.0.4-Production/webapp/WEB-INF/ view/jsp/default/protocol/2.0/casServiceValidationSuccess.jsp> Modification to the clients to extract the new fields from the XML are also required. This is the biggest gotcha, it means you can't simply use the standard clients out-of-the-box. Also the biggest reason why I hope the CAS project standardizes on a way to add attributes to the response. It's fairly easy to design the clients to pull out any XML fields and create some kind of hash or array appropriate to the programming language. We've been slowly adding client support here, we currently have an apache module, plsql procedure, ruby module, and a java filter. Next on my list is a perl module. Only the apache module is currently in the subversion directory, they are all a little rough right now. I'm hoping to clean them up and get them in there in a releasable state.
分享到:
评论

相关推荐

    CAS(Central Authentication Service、中央认证服务)

    CAS(Central Authentication Service,中央认证服务)是一种广泛使用的开源身份验证框架,主要目的是提供单一登录(Single Sign-On,SSO)功能。它允许用户通过一个认证界面登录,然后在多个应用系统之间无缝地切换...

    SpringBoot+Security+Cas

    这个Demo是为那些希望了解如何在Spring Boot应用中整合Spring Security和CAS(Central Authentication Service)服务的开发者准备的。下面将详细介绍这三个核心组件以及它们如何协同工作。 **Spring Boot** Spring ...

    cas修改登录页

    【标题】"CAS修改登录页"是一个针对中央认证服务(Central Authentication Service,简称CAS)的定制化实践。在单点登录(Single Sign-On,SSO)系统中,CAS扮演着核心角色,它提供了统一的身份验证服务,使得用户只...

    GSS.Authentication.CAS:用于OWIN和ASP.NET Core的CAS身份验证中间件

    GSS认证 用于OWIN和ASP.NET Core的CAS身份验证中间件NuGet软件包安装欧文# Package ManagerInstall-Package GSS.Authentication.CAS.Owin# .NET CLIdotnet add package GSS.Authentication.CAS.Owin ASP.NET核心# ...

    spring boot整合CAS Client实现单点登陆验证的示例

    此外,我们还可以配置其他的认证参数,例如 cas.authentication-url-patterns、cas.validation-url-patterns、cas.request-wrapper-url-patterns 等。 在手动配置 CAS Client 时,我们需要在 web.xml 文件中添加...

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

    CAS(Central Authentication Service)是Java开发的一个开源的单点登录(Single Sign-On,简称SSO)框架,主要用于解决网络应用中的身份验证问题。本压缩包提供了CAS服务端自定义认证的实现,以及CAS客户端的配置...

    cas4.2.7 实现其他系统和cas互相认证互信

    CAS(Central Authentication Service)是一种基于Web的单一登录(Single Sign-On, SSO)协议,用于在多个应用系统间实现统一的认证服务。CAS 4.2.7 是 CAS 的一个特定版本,它提供了与其他系统进行身份验证互信的...

    CAS restful接口调用

    CAS(Central Authentication Service)是一种开源的单点登录协议和服务实现。它旨在减轻单一Web应用的登录流程,并为多个服务提供一个集中式的认证机制。CAS支持多种认证协议,包括但不限于HTTP Basic、...

    cas-authentication:设计为用作Express服务器中间件的CAS身份验证库

    Express CAS认证 这是旨在与Express服务器一起使用的CAS身份验证库。 它提供了两个中间件功能来控制对路由的访问: ...var CASAuthentication = require ( 'cas-authentication' ) ; var cas = new CASAuthentic

    搭建cas服务,cas与sqlserver连接,cas与security连接

    CAS(Central Authentication Service)是Java开发的一个开源身份验证框架,主要用于实现单点登录(Single Sign-On,SSO)。本教程将详细介绍如何搭建CAS服务,并将其与SQL Server数据库和Spring Security进行集成。...

    基于springboot,cas5.3,shiro,pac4j,rest接口获取ticket不再跳转cas server登录页

    本文将深入探讨如何利用Spring Boot、CAS 5.3、Shiro、Pac4J这四个强大的工具来构建一个高效且用户友好的REST接口,以获取CAS(Central Authentication Service)票据,避免用户被重定向到CAS服务器的登录页面。...

    cas-client-2.0.11.zip_cas client_cas-clie_cas-client-2._java CAS

    CAS(Central Authentication Service)是耶鲁大学开发的一种开放源代码的单点登录(Single Sign-On,简称SSO)协议,用于网络应用中的身份验证。它允许用户在一个认证点登录后,无需再次输入凭证就能访问其他受保护...

    cas 自定义登录页面

    CAS(Central Authentication Service)是一种广泛使用的开放源代码单点登录(Single Sign-On,SSO)框架,它允许用户通过一个中央认证服务访问多个应用系统,而无需为每个系统单独进行登录。在实际的企业环境中,...

    cas源码修改-登录页面

    CAS(Central Authentication Service)是一种广泛使用的开放源码身份验证框架,它允许用户通过单一登录(Single Sign-On,SSO)访问多个应用系统。在“cas源码修改-登录页面”这个主题中,我们将深入探讨如何定制...

    cas3.5.2单点登录文档详细配置

    CAS(Central Authentication Service)是由Yale大学开发的一个开源Web SSO解决方案。它由两部分组成:CAS Server和CAS Client。CAS Server负责用户的身份验证,独立部署,处理用户的凭证如用户名和密码。而CAS ...

    Cas5.2.6(cas-overlay-template-5.2.6)服务端

    CAS(Central Authentication Service)是一种广泛使用的开放源码身份验证框架,它允许用户通过单一登录(Single Sign-On,SSO)访问多个应用系统。在你提供的资料中,"Cas5.2.6(cas-overlay-template-5.2.6)服务端...

    struts2+cas单点登陆例子

    首先,让我们理解一下CAS(Central Authentication Service)的核心概念。CAS是一个开放源码的SSO解决方案,由耶鲁大学开发,用于验证用户身份并提供单一登录服务。它的主要工作原理是:当用户尝试访问受保护的应用...

    cas集成AD域

    CAS(Central Authentication Service)是Java开发的一个开源身份验证框架,主要功能是提供单点登录(Single Sign-On,SSO)服务。在企业环境中,尤其是在已部署了Active Directory(AD)域服务的情况下,将CAS与AD...

    cas-server-3.4.10-release和cas-client-3.2.1-release两个

    CAS(Central Authentication Service)是一种基于Web的单一登录(Single Sign-On, SSO)协议,用于在多应用环境中统一用户认证。这个协议由耶鲁大学开发并开源,现在由Apereo基金会维护。标题提到的"cas-server-...

    cas .net客户端的配置代码

    在.NET开发环境中,CAS(Central Authentication Service)是一种广泛使用的单点登录(Single Sign-On, SSO)框架。本文将深入探讨如何配置CAS .NET客户端,以及解决“循环重定向”问题,以帮助开发者更好地理解这一...

Global site tag (gtag.js) - Google Analytics