Spring安全和自定义外部身份验证

时间:2013-03-04 13:44:33

标签: java spring spring-security single-sign-on

我有这样的任务 - 将我的Web应用程序与外部单点登录服务集成。它是SSO的自定义非标准实现,它基于设置特定cookie并重定向回应用程序。 SSO和应用程序位于同一个域中。

目前我正在使用Spring Security过滤器在特定网址上检查此Cookie。这适用于场景:

网络应用 - > SSO [提供回调网址] - >重定向回我的应用程序。

但是,当用户访问提供身份验证服务的应用程序然后“跳转”到我的应用程序的任何网址时,它显然会失败(并且未检查cookie,因为未触发“特殊”网址)。

使用Spring Security解决此类问题的建议方法是什么?

谢谢!

1 个答案:

答案 0 :(得分:9)

解决问题的最简单方法是实现自己的PreAuthenticatedProcessingFilter: http://static.springsource.org/spring-security/site/docs/3.1.x/reference/springsecurity-single.html#d0e6167

您的身份验证提供程序是否在cookie中提供用户名的问题。如果它提供了 - 您可以使用此过滤器:http://static.springsource.org/spring-security/site/docs/3.1.x/reference/springsecurity-single.html#d0e6295

如果您需要任何其他说明,请告诉我。

致以最诚挚的问候,

迈克尔