有人知道WSO2 EntitlementFilter扩展是否可以与SAML一起使用吗?
我能够使用一个简单的Tomcat Web应用程序使EntitlementFilter与basicAuth一起使用。我在tomcat-users.xml中有一些演示用户,这些用户可以成功地回调WSO2 IS,以获得XACML策略决策。一切都很好。
接下来,我想添加SAML代替basicAuth。我按照此处概述的步骤进行操作:
(使用https://github.com/wso2-extensions/tomcat-extension-samlsso)
这一切正常,我可以看到我的SAML会话和属性传到了Tomcat SP。但是,我回叫以获得XACML决定的EntitlementFilter一直抱怨抱怨找不到用户名(即使用户名在SAML中)。
我一辈子都无法在Web.xml中获得EntitlementFilter的配置,这样它就可以识别通过SAML从WSO2 IdP发送过来的值。我错过了一步吗?即使SAML中明确存在这些属性,EntitlementFilter似乎也无法“看到”它们。
这是我用来通过basicAuth获得XACML决策的示例配置。
https://docs.wso2.com/display/AS530/Enable+XACML+Fine+Grained+Authorization+for+Web+Apps
无论我使用哪种subjectScope,我都能理解:
Type Exception Report
Message Username not provided in request-attribute
Description The server encountered an unexpected condition that prevented it from fulfilling the request.
Exception
org.wso2.carbon.identity.entitlement.filter.exception.EntitlementFilterException: Username not provided in request-attribute
org.wso2.carbon.identity.entitlement.filter.EntitlementFilter.findUserName(EntitlementFilter.java:247)
org.wso2.carbon.identity.entitlement.filter.EntitlementFilter.doFilter(EntitlementFilter.java:174)
Note The full stack trace of the root cause is available in the server logs.
在此先感谢您的见解。