我们在 IIS 上使用基于表单的身份验证对数据库(不是 AD)使用 asp 和 asp.net 编写的遗留应用程序。我们正在 glassfish 上编写一个新的 Java 应用程序,我们需要一个单点登录解决方案来验证用户身份,以便他们可以在两者之间无缝移动,而无需再次登录。
这个问题有什么安全的解决方案吗?
我们在 IIS 上使用基于表单的身份验证对数据库(不是 AD)使用 asp 和 asp.net 编写的遗留应用程序。我们正在 glassfish 上编写一个新的 Java 应用程序,我们需要一个单点登录解决方案来验证用户身份,以便他们可以在两者之间无缝移动,而无需再次登录。
这个问题有什么安全的解决方案吗?
我认为从长远来看,最好的方法是决定 SSO 技术/实现,然后更改遗留应用程序以使用它。我知道更改遗留应用程序可能会很痛苦,但如果它是实用的,你应该这样做。
更新
您不必完全重写您的旧应用程序。如果您可以识别出也支持旧语言的 SSO 技术,那么您可能只需重写登录页面和(可能)访问控制和/或本地帐户管理就可以了。
看看 spring 安全性(如果你不反对在你的 java 应用程序中使用 spring)。它们支持数十种解决方案,可能是您用于 ASP 应用程序的任何解决方案。http://static.springsource.org/spring-security/site/
或者,您可以使用 apache shiro http://shiro.apache.org/,它也支持几乎所有的安全性。
我建议查看其中一个是否支持您已经在旧应用程序上使用的内容,让 java 应用程序支持您现有的安全机制可能会更容易,而不是尝试将新的安全层反向移植到 ASP 中。