我有这样的任务 - 将我的Web应用程序与外部单点登录服务集成。它是SSO的自定义非标准实现,它基于设置特定cookie并重定向回应用程序。 SSO和应用程序位于同一个域中。
目前我正在使用Spring Security过滤器在特定网址上检查此Cookie。这适用于场景:
网络应用 - > SSO [提供回调网址] - >重定向回我的应用程序。
但是,当用户访问提供身份验证服务的应用程序然后“跳转”到我的应用程序的任何网址时,它显然会失败(并且未检查cookie,因为未触发“特殊”网址)。
使用Spring Security解决此类问题的建议方法是什么?
谢谢!
答案 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
如果您需要任何其他说明,请告诉我。
致以最诚挚的问候,
迈克尔