为托管在不同服务器上的 Web 应用程序实施 SSO

Posted

技术标签:

【中文标题】为托管在不同服务器上的 Web 应用程序实施 SSO【英文标题】:Implementing SSO for web application hosted on different servers 【发布时间】:2013-10-26 23:25:25 【问题描述】:

我在不同的服务器上托管了 Web 应用程序(例如,Tomcat 服务器上的 WebApp1,Jbossserver 上的 Web App2)。我需要为此应用程序实现单点登录。请建议我如何使用不同的框架进行此操作,一些应用程序是建立在 spring 框架上的,一些是建立在 Jsp/Servlets 上的。我是否可以利用这个框架并可以实现 SSO。这是Thread 的延伸。

【问题讨论】:

【参考方案1】:

如果目录服务实现是 Microsoft Active Directory,那么最好使用 Kerberos。 Spring Security 通过 spring-security 扩展项目支持 Kerberos。看看spring security kerberos 项目。

对于其他 LDAP 实现(apache DS、Open DS),spring+JASIG-CAS 将满足您的要求。 read more

【讨论】:

【参考方案2】:

鉴于您使用的是 Spring,我建议您使用 SpringSecurity 和 JA-SIG's Central Authentication Service (CAS)。 Spring 安全文档提供了how to set this up 的详细信息。

我自己在几个项目中使用过它,效果很好。

【讨论】:

以上是关于为托管在不同服务器上的 Web 应用程序实施 SSO的主要内容,如果未能解决你的问题,请参考以下文章

使用 TFS 中的 Web 部署在不同的网站上部署多个 Web 应用程序

如何从托管在另一台服务器上的 Web 应用程序调用客户端计算机托管的 Wcf 服务?

将静态内容与 Web 服务托管在不同的域上,如何避免跨域?

Azure Windows VM上的IIS Web托管问题

如何在 firebase 托管中托管单页 webapp 的静态文件,并将 web API 部署在不同的服务器中

Spring Boot 应用程序未重定向到托管在不同服务器上的 Keycloak