我们正在开发一个web应用程序,它有自己的SignOn机制(使用用户名和密码的登录机制)。SignOn机制是使用实现的)
web应用程序容器是ApacheTomcat6.0
用户还可以选择通过Shibboleth身份验证登录。也就是说,要访问我们的Web应用程序,用户可以选择使用Shibboleth进行身份验证,或者使用我们自己的基于web应用程序过滤器的SignOn机制。
技术上既支持Shibboleth认证,又支持基于Web应用程序过滤器的SignOn机制,技术上可行吗?
如果这是可行的,从Web应用程序过滤器方面,我们如何检查一个用户是否已经通过Shibboleth认证?是否存在Shibboleth身份验证令牌或Shibboleth用户会话?
谢谢。
发布于 2013-09-30 23:28:43
我假设您引用了Shibboleth (服务提供者组件),并且还需要Shibboleth IdP (一个身份提供者)来提供实际的身份验证。
...And是的,是可行的,这两种方法很容易共存。
当Shibboleth (使用标识提供程序)成功地对用户进行身份验证时,它将众所周知的会话属性放置在HTTP请求属性和标头中。
您可以查看访问的会话属性:
https://your-host/Shibboleth.sso/Session 因此,在您的应用程序中,您可以检查这些属性的存在和值,如:
request.getAttribute("NAME_OF_THE_ATTRIBUTE_IN_SESSION")
request.getHeader("NAME_OF_THE_ATTRIBUTE_IN_SESSION")然后,使用Shibboleth属性可以执行必要的操作,以允许或拒绝用户身份验证。
我建议开始阅读Shibboleth和IdP安装和配置上的start IdP。
https://stackoverflow.com/questions/19090580
复制相似问题