Spring Security 和自定义外部身份验证
Posted
技术标签:
【中文标题】Spring Security 和自定义外部身份验证【英文标题】:Spring Security and Custom External Authentication 【发布时间】:2013-02-18 15:00:11 【问题描述】:我有这样的任务 - 将我的 Web 应用程序与外部单点登录服务集成。它是基于设置特定 cookie 并重定向回应用程序的 SSO 的自定义非标准实现。 SSO 和应用在同一个域中。
目前我正在使用 Spring Security 过滤器来检查特定 URL 上的这个 cookie。这适用于场景:
Web 应用 -> SSO[提供回调 url] -> 重定向回我的应用。
但是当用户访问提供身份验证服务的应用程序然后“跳转”到我的应用程序的任何 url 时它显然会失败(并且没有检查 cookie,因为没有触发“特殊”url)。
使用 Spring Security 解决此类问题的推荐方法是什么?
谢谢!
【问题讨论】:
【参考方案1】:解决问题的最简单方法是实现自己的 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
如果您需要任何其他说明,请告诉我。
最好的问候,
迈克尔
【讨论】:
享受 :) 如果您需要任何其他帮助,请告诉我。以上是关于Spring Security 和自定义外部身份验证的主要内容,如果未能解决你的问题,请参考以下文章
spring boot spring security 基于自定义令牌的身份验证和自定义授权
具有 CAS 身份验证和自定义授权的 Spring Security
JAX-RS 和 Spring Security - 获取经过身份验证的用户