Websphere Liberty 中带有 samlWeb-2.0 的 SAML 服务提供商

SAML service provider with samlWeb-2.0 in Websphere Liberty

我正在努力在 Websphere Liberty 服务器上启用 samlWeb-2.0。我需要使用我的雇主提供的现有身份提供者来实施服务提供者部分以进行身份​​验证。

samlWeb-2.0 功能已安装并启用,我已按照 IBM's instructions 配置它,使用密钥库和 IdP 元数据。我可以通过访问 /ibm/saml20/defaultSP/samlmetadata 来提取 SP 元数据,这一切看起来都像我认为应该的那样。

但是,我无法让服务器实际过滤任何请求。 IBM:s 文档明确指出 "When SAML is configured and enabled, all unauthenticated requests will use SAML authentication",但我看不到它确实如此。我已经添加了一个身份验证过滤器来匹配所有 URL:s,但这也没有任何区别。

我希望身份验证过滤器阻止未经身份验证的请求 and/or 将其重定向到 IdP:s 登录表单,但没有任何反应。

我在激活身份验证过滤器的配置中缺少什么?

这是我的 server.xml:

<server>
<featureManager>
    <feature>localConnector-1.0</feature>
    <feature>jsp-2.2</feature>
    <feature>jpa-2.0</feature>
    <feature>samlWeb-2.0</feature>
</featureManager>

<keyStore
    fileBased="true"
    location="/home/misc/keystore.jks"
    password="password"
    />

<samlWebSso20
    id="defaultSP"
    idpMetadata="/home/misc/idpMetadata.xml"
    spHostAndPort="https://myapp"
    authFilterRef="defaultAuthenticationFilter"
    />

<authFilter id="defaultAuthenticationFilter">
    <requestUrl urlPattern="/**" id="default"></requestUrl>
</authFilter>

<webApplication contextRoot="/" id="myApp" location="myApp.war" name="myApp" />
</server>

Liberty 安全性仅拦截具有在 web.xml 中定义的授权约束的请求 URL。您的 Web 应用程序是否具有 security/authorization 约束,并且您访问的 URL 是否具有角色约束?