【发布时间】:2013-10-06 02:26:06
【问题描述】:
我们正在开发一个具有自己的登录机制(使用用户名和密码的登录机制)的 Web 应用程序。 SignOn 机制是使用 Web 应用程序过滤器实现的)
Web 应用程序容器是 Apache Tomcat 6.0
用户也可以选择通过 Shibboleth 身份验证登录。也就是说,要访问我们的 Web 应用程序,用户可以选择使用 Shibboleth 进行身份验证,或者使用我们自己的基于 Web 应用程序过滤器的 SignOn 机制。
同时支持 Shibboleth 身份验证和基于 Web 应用程序过滤器的登录机制在技术上是否可行?
如果可行,从 Web 应用程序过滤器端,我们如何检查用户是否已经通过 Shibboleth 的身份验证?是否有一些 Shibboleth 身份验证令牌或 Shibboleth 用户会话?
谢谢。
【问题讨论】:
-
你在 Tomcat 前使用 Apache 吗?
-
我在 Apache Tomcat 7.0.42(从 Apache Tomcat 6.0 升级)包含的 Web 应用程序前使用 Apache HTTPD 2.2
-
好的,您可以在您的 Apache 上使用 mod_shib_22.so 模块来集成 SP。见wiki.shibboleth.net/confluence/display/SHIB2/…
-
如何唯一标识 Shibboleth 认证用户?我读过关于 Shib-persistent-id 的信息。但是 request.getAttribute("Shib-persistent-id") 和 request.getHeader("Shib-persistent-id") 都返回 null。我验证了用户已通过身份验证,因为 request.getAttribute("Shib-Identity-Provider") 正确返回了我的 Shibboleth 身份提供者的 entityId。
-
这取决于 IdP。使用your-host/Shibboleth.sso/Session 查看您的 IdP 发送了哪些属性并选择一个独特的属性,例如“HTTP_USER”
标签: login servlet-filters shibboleth