2012-09-18 130 views
0

玻璃鱼SSO实施是否执行任何标准?如果是这样,哪些?玻璃鱼SSO实施任何标准?

如果我对我的应用程序依赖Glassfish SSO,我的应用程序是否可移植 - 如果我将应用程序部署到另一个Web容器(如tomcat),SSO是否可以工作?

回答

1

看起来GlassFish的实现基于Tomcat阀org.apache.catalina.authenticator.SingleSignOn而不是Java/Java EE标准。

应该可以将应用程序移植到基于Tomcat的其他应用程序服务器,但我会建议先做一些测试。

2

与许多(所有?)容器一样,Glassfish在使用基于容器的安全性时使用Realm的概念。我不知道是否有一个标准来定义一个Realm,但是我们写的委托给Realm的代码在Tomcat,Glassfish和Jetty中运行,而像Apache Karaf这样的OSGi容器也有相似的领域(但我还没有真正尝试过那个)。

SSO实现完全位于容器端 - 如果多个应用程序使用相同的领域,那么您可以配置容器以跨这些应用程序启用SSO。事实上Glassfish的SSO实现是一个tomcat阀门,对于应用程序来说完全是隐藏的 - 只要容器支持领域,并且可以配置为在使用这些领域的应用程序中启用sso,那么应用程序可以在任何这样的容器中移植。

警告 - 这是基于我的(有限)现实世界的经验。我不知道领域有多普遍,也不知道它们之间是否有任何标准兼容。但对于我们的使用,它们似乎(迄今为止)是一个合理的,便携式的抽象。