spring security:使用实时服务器管理会话

时间:2013-07-22 17:13:19

标签: spring spring-security

嗨,我是春天安全新手。使用3.1版本。 我有一个遗留的sso url,要求输入用户名/密码,并在用户通过身份验证时设置cookie。

我可以使用自定义过滤器和自定义身份验证入口点对用户进行身份验证。 我无法理解的是,假设我的orig请求是../myPage,并且当用户从自定义sso url重定向到我的应用程序时,customauthentication过滤器具有defaultProcessingUrl ../myFilter(假设我正在通过myfilter路径作为成功验证后遗留sso重定向的参数),原始请求URL将如何被检索,因为我在非粘性会话的实时模式下使用服务器。

据我所知,ExceptionTranslationFilters使用httpsession属性来保存触发身份验证入口点的orig url,但是在实时服务器重定向的情况下,最终可能会停止在另一台服务器上?

一种选择是使用“/ **”模式进行自定义过滤,并将orig req传递给sso lega y url进行重定向?但在这种情况下,创建遗留URL的逻辑将在cutom过滤器authenticationFailure Handler和自定义身份验证点中复制。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

假设:您的旧版SSO与Siteminder(http://en.wikipedia.org/wiki/Identity_management_system

的工作方式不同

ExceptionTranslationFilter不保存触发身份验证入口点的url。 身份验证过滤器和身份验证入口点负责管理此操作。 请查看LoginUrlAuthenticationEntryPoint的示例。 在您的情况下,您应该实现自己的LegacySSOFilter和LegacySSOEntryPoint。 LegacySSOEntryPoint将重定向到旧版SSO服务器,并在用户身份验证后重定向回原始应用程序。

请注意,您应该将重定向的经过身份验证的用户名提供回原始应用程序(以安全方式执行) LegacySSOFilter应该使用用户名并对Siteminder过滤器进行身份验证:http://static.springsource.org/spring-security/site/docs/3.1.x/reference/springsecurity-single.html#d0e6295