Spring Security与XACML集成(或任何其他基于策略的解决方案)

时间:2013-10-27 13:42:11

标签: spring spring-security authorization xacml

我们的网络应用程序基于弹簧安全性。我们已经通过SSO提供商(CAS)处理身份验证

我们正在努力为我们的应用程序(角色和前提)找到一个方便的处理授权解决方案。

我读到了XACML;但是,找不到在Spring-security框架中实现和集成它的任何实践经验/示例。

任何人都有这方面的经验吗?

谢谢, 射线。

3 个答案:

答案 0 :(得分:2)

Asela所说的大多数基于XACML的授权服务器都是如此。

您可以选择开源:

  • WSO2(Asela's)为您提供的不仅仅是XACML BTW - 它首先是一个调解平台
  • ForgeRock的OpenAM
  • JBoss的PicketBox。
  • HerasAF

有些实现XACML 2.0,有些实现XACML 3.0

在供应商领域,您有:

  • IBM(XACML 2.0)
  • Oracle(专有)
  • Dell(XACML 3.0,基于.NET)
  • Axiomatics(XACML 3.0 ,. NET和Java)

免责声明:我为后者Axiomatics工作。我们已经测试了一个过去实现Spring Security Access Decision的样本PEP,它运行正常。我们的PDP既可以作为SOAP Web服务公开,也可以根据XACML的REST配置文件通过REST公开。

您是否希望Spring Access Decision Manager实施XACML PEP?你想使用选民吗?你需要支持义务和建议吗?

您也可以使用Axiomatics也提供的AOP PEP。我们将在周四举行关于此主题的网络研讨会。详情here

答案 1 :(得分:1)

我不确定Spring安全框架。但是,如果您的应用程序可以调用外部soap Web服务,则可以使用WSO2 Identity Server。因为WSO2 Identity Server的PDP已经通过基于SOAP的Web服务公开了。我想,使用您的应用程序,您可以轻松地调用它们。您可以从此blog找到更多详细信息。

答案 2 :(得分:1)

我知道这是一个老问题,但我认为最近的一个名为"Enhancing Spring Security"的网络研讨会(免责声明:我为Axiomatics工作并且是网络研讨会的专家小组成员)将有助于回答所提出的问题。

它解释了如何扩展Spring Express语言(SpEL)(在v3中引入)以实现自定义表达式以调用XACML PDP以在URL和UI(Web表达式)上进行授权决策以及方法(方法表达式)。