用于REST服务的SAML令牌的Spring安全性

时间:2015-04-13 15:08:00

标签: spring rest spring-security saml-2.0

我正在寻找一个关于弹簧安全配置(首选Java配置)的简单示例,介绍如何使用Spring-Security和SAML保护我的REST服务。

前面有一个Web应用程序防火墙,它只传递包含有效SAML令牌的请求,或以其他方式重定向到IDP以获取一个。因此,我不必查看用户是否已登录或将用户重定向到IDP。

我唯一需要做的就是只允许对所有REST服务进行身份验证请求,从SAML-Token读取用户并检查令牌是否来自Airlock。

稍后我需要在特定服务上添加ACL支持以获得更精细的用户细粒度权限,但我已经在Spring安全性的第一部分集成工作中丢失了。欢迎任何帮助:)

1 个答案:

答案 0 :(得分:1)

魔术发生在这里:https://github.com/spring-projects/spring-security-saml/blob/master/core/src/main/java/org/springframework/security/saml/SAMLProcessingFilter.java

attemptAuthentication()中,它获取SAML消息,解析它并获取令牌(SAMLAuthenticationToken)。然后它尝试验证用户:authenticate(token);