带有 WSO2 身份服务器的 XACML

XACML with WSO2 Identity Server

我刚开始学习使用 wso2 的 xacml,我完成了这个示例 post,它运行良好。如果我使用 tomcat 部署我的 war 文件,那么我的问题不是 wso2as,而是如何保护我的受保护页面。

谢谢

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

PEP 可以具有不同的外形尺寸。它可能是一个 API 网关,或者在您的情况下,它可能是一个 servlet 过滤器。您可以编写您的 Servlet 过滤器。关注这些 instructions.

要了解有关 XACML 的更多信息,请查看 Wikipedia site for it. I keep adding information on a regular basis. Also check out the ABAC and ALFA 页面。

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

如果您要在 tomcat 上部署 Web 应用程序,您可以编写一个 tomcat 过滤器[1] 或 tomcat 阀来充当 PEP(策略执行点)。

您可以使用 XACML 策略配置 WSO2 身份服务器。此后,您可以从使用 SOAP/thrift 授权客户端实现的 tomcat filter/valve 中调用授权服务 (参考[2])

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

上没有太大区别

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

[2]

[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