带有WSO2 Identity Server的XACML

时间:2016-05-18 07:47:32

标签: authorization wso2is xacml abac

我刚开始用wso2学习xacml,我经历了这个例子post,这很好用。我的问题是代替wso2as,如果我使用tomcat来部署我的war文件,那么我如何保护受保护的页面。

谢谢

2 个答案:

答案 0 :(得分:0)

您需要从基础开始。你知道XACML架构吗?有一个名为PEP(策略执行点)的组件负责保护您的资源。

PEP可以具有不同的形状因子。它可能是一个API网关,或者在您的情况下,它可能是一个servlet过滤器。您可以编写Servlet过滤器。请遵循这些instructions

要了解有关XACML的更多信息,请查看Wikipedia site。我会不断定期添加信息。另请查看ABACALFA页。

答案 1 :(得分:0)

有多种方法可以做到这一点,我将向你解释一个这样的方法

如果要在tomcat上部署web应用程序,可以编写tomcat过滤器[1]或tomcat valve作为PEP(策略执行点)。

您可以使用XACML策略配置WSO2 Identity Server。此后,您可以使用SOAP / thrift权利客户端在您实现的tomcat过滤器/阀门内调用Entitlement服务 (参考[2])

您可以实现类似于[3]的过滤器。您需要在Web应用程序的web.xml中配置过滤器。使用[4]配置过滤器。 WSO2应用程序在内部使用tomcat来托管Web应用程序,因此它与在tomcat上部署

没有太大区别

[1] https://tomcat.apache.org/tomcat-5.5-doc/servletapi/javax/servlet/Filter.html

[2] Xacml integration with saml in wso2

[3] https://github.com/wso2-extensions/identity-agent-entitlement-filter/blob/master/components/org.wso2.carbon.identity.entitlement.filter/src/main/java/org/wso2/carbon/identity/entitlement/filter/EntitlementFilter.java

[4] https://docs.wso2.com/display/AS530/Enable+XACML+Fine+Grained+Authorization+for+Web+Apps