WSO2权利过滤器和SAML

时间:2018-07-23 21:46:21

标签: tomcat wso2 single-sign-on wso2is xacml

有人知道WSO2 EntitlementFilter扩展是否可以与SAML一起使用吗?

我能够使用一个简单的Tomcat Web应用程序使EntitlementFilter与basicAuth一起使用。我在tomcat-users.xml中有一些演示用户,这些用户可以成功地回调WSO2 IS,以获得XACML策略决策。一切都很好。

接下来,我想添加SAML代替basicAuth。我按照此处概述的步骤进行操作:

https://medium.com/@chirangaalwis/saml-2-0-based-single-sign-on-and-logout-for-web-applications-deployed-in-apache-tomcat-part-two-b9c23e043e2b

(使用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.

在此先感谢您的见解。

0 个答案:

没有答案