2011-12-29 47 views
2

我已经使用Shibboleth手动登录,这意味着用户单击网站上的登录链接,该链接将打开Shibboleth登录页面所在的外部页面。一旦通过身份验证,它就会将它们重定向到原始站点并启用Shibboleth页面。Shibboleth and Autologin

我的问题是一旦登录,他们去另一个网站,我怎么能自动验证他们,因为他们已经从第一个网站shibboleth会话。他们是否必须点击像第一个网站那样的操作,然后将它们自动加入到用户看不到的一些隐式重定向中,或者我可以在没有检查每个网页加载情况下单击登录链接的情况下执行此操作。

回答

2

您可以检查Shibboleth的其中一个标题,例如Shib_Authentication_Instant,如果不存在,则重定向。您可以在服务器级别执行此操作,而不是在应用程序逻辑中执行此操作,例如,对于Apache使用mod_shib

如果你想显示“公共内容”和额外的“成员内容”,事情变得更加棘手。我猜你可能有一个登陆页面请求一些受Shib保护的资源(1x1不可见的GIF,在查询参数中有nonce,AJAXy,等等): 如果你的用户已经通过Shib认证,你可以看到资源正在加载。 (否则,他将被困在该资源的一个不可见的登录对话框中,这应该不重要,并且存储他在会话中不可验证。这不是安全关键:如果用户删除它,他会再次通过GIF程序,成员内容应取决于您的shibbolized Web服务器为您插入的标题)。

但是,这是一个粗糙的黑客攻击,可用性取决于标记gif的“良好”超时请求。