我正在编写几个基于 spring 安全和 spring 安全 saml 扩展 (RC2) 的 Web 应用程序。
我以基本方式(基于 spring saml 文档中定义的示例)单点登录与多个服务提供商和身份提供商合作。
当用户访问 SP 上的受保护资源时,他将被转发到 IDP 上的受保护资源。所以因为用户还没有登录,他们被重定向到一个登录页面(标准的 spring 安全内容)。登录后,播放原始请求并完成 authNRequest/Response 并将用户重定向到原始安全资源。
我现在有一个要求,确保所有服务提供者必须在每次请求之前询问身份提供者用户是否登录(而不是在 SP 本地进行)。
我的理解是在每个请求期间存储和查询本地 (SP) 和远程 (IDP) 安全上下文,如果没有有效上下文,则用户将被转发到身份提供者以完成身份验证过程。
所以我的问题是,有没有办法可以在 SP 端配置 saml/spring 安全性以始终“ping”或要求 IDP 检查当前用户是否已登录,或者这种事情是否不必要/不受支持。
提前致谢