我在 Server 2008 R2 上有一个 Shibboleth SP 实例,并且一切都可以通过 IdP 正常进行身份验证。
我正在测试保护单个页面,通过在 shibboleth2.xml 文件中执行以下操作,效果很好:
<Host name="MyUrl.com">
<Path name="page.jsp" authType="shibboleth" requireSession="true"/>
</Host>
当我去https://MyUrl.com/page.jsp我被重定向以输入凭据,然后回到 page.jsp
现在我发现我应该保护文档根目录,但不是整个网站。
基本上我需要通过 Shibboleth 进行身份验证,一旦通过,我就会被重定向回文档根目录,在那里使用单独的软件设置会话,我会被重定向到另一个页面,文档根目录将永远不会再使用。
任何帮助表示感谢
答案1
我觉得使用 IIS 很难实现这一点。不过...
我的建议是检查 Shibboleth 提供的值(使用 IIS 时为 HTTP 标头)。如果它们存在,则一切正常。如果没有,则重定向到您的登录 URL,例如
https://MyUrl.com/auth.jsp <---- this is protected by shibboleth
在此 URL 上,您可以设置您的应用程序会话,如果一切正常,您可以重定向回主页。
答案2
这个怎么样?
<Host name="MyUrl.com">
<PathRegex regex=".*" authType="shibboleth" requireSession="true" />
</Host>
本质上,正则表达式可以保护整个根。
编辑#1——刚刚看到这有多老了...哎呀。