我使用了Shibboleth手动登录,这意味着用户点击网站上的登录链接,打开Shibboleth登录页面所在的外部页面。一旦通过身份验证,它会将它们重定向回原始站点,并转到启用了Shibboleth的页面。
我的问题是,一旦登录,他们转到另一个站点,我如何自动验证他们,因为他们已经有一个来自第一个站点的Shibboleth会话。他们是否必须点击一个动作,如第一个网站,这反过来将自动登录他们与一些隐式重定向,用户看不到,或者我可以这样做,而不是用户点击登录链接,而不做检查每个页面加载。
发布于 2011-12-30 15:23:36
您可以检查是否存在Shibboleth的标头之一,例如Shib_Authentication_Instant,如果不存在,则重定向。您可以在服务器级别而不是在应用程序逻辑中执行此操作,例如,使用用于Apache的mod_shib。
如果你想显示“公共内容”和额外的“成员内容”,事情就变得更棘手了。我猜你可能会有一个登陆页面,请求一些受Shib保护的资源(1x1不可见的GIF,在查询参数中带有nonce,一些AJAXy之类的东西):如果你的用户已经通过了Shib认证,你可以看到资源正在被加载。(否则,他将停留在该资源的不可见登录对话框中,这无关紧要,并且您存储他在会话中不可验证。这不是安全关键的:如果用户删除它,他将再次经历gif过程,并且成员内容应该取决于您的shibbolized web服务器为您插入的标头。)
但这是一个粗糙的技巧,可用性依赖于标记gif请求的“良好”超时。
https://stackoverflow.com/questions/8671718
复制相似问题