【问题标题】:Enable SAML2 SSO on a multi-tenant JBoss Application to multiple IPs在多租户 JBoss 应用程序上为多个 IP 启用 SAML2 SSO
【发布时间】:2014-10-23 03:27:01
【问题描述】:

我有一个想要作为 SAML2 SP 启用的现有 JBoss 应用程序。很简单,但这是一个多租户应用程序,其中主机名用于确定要重定向到哪个 IP“如果有”。如果没有配置IP,则应该通过表单登录。下面的配置没有做我想要的(第二个“PicketLinkSP”隐藏了第一个)。

这是一个包含数十个租户的低容量应用程序,因此我们希望为每个租户部署一个 war 文件。目前,只有少数客户表示有兴趣托管 SAML2 IP,因此如果我们必须为这少数客户部署专用实例,但如果有更好的解决方案,那就太好了。

<PicketLink xmlns="urn:picketlink:identity-federation:config:2.1">
  <PicketLinkSP xmlns="urn:picketlink:identity-federation:config:2.1"
      ServerEnvironment="tomcat" BindingType="REDIRECT" RelayState="someURL">
    <IdentityURL>${idp.url::http://bip.archxm/idp/}</IdentityURL>
    <ServiceURL>${sample.url::http://bip.archxm/sample}</ServiceURL>
    <Trust>
      <Domains>bip.archxm</Domains>
    </Trust>        
  </PicketLinkSP>
  <PicketLinkSP xmlns="urn:picketlink:identity-federation:config:2.1"
      ServerEnvironment="tomcat" BindingType="REDIRECT" RelayState="someURL">
    <IdentityURL>${idp.url::http://ccm.archxm/idp/}</IdentityURL>
    <ServiceURL>${sample.url::http://ccm.archxm/sample/}</ServiceURL>
    <Trust>
      <Domains>ccm.archxm</Domains>
    </Trust>        
  </PicketLinkSP>
  <Handlers xmlns="urn:picketlink:identity-federation:handler:config:2.1">
    <Handler class="org.picketlink.identity.federation.web.handlers.saml2.SAML2LogOutHandler" />
    <Handler class="org.picketlink.identity.federation.web.handlers.saml2.SAML2AuthenticationHandler">
      <Option Key="ASSERTION_SESSION_ATTRIBUTE_NAME" Value="org.picketlink.sp.assertion"/>
    </Handler>
    <Handler class="org.picketlink.identity.federation.web.handlers.saml2.RolesGenerationHandler"/>
    <Handler class="org.picketlink.identity.federation.web.handlers.saml2.SAML2IssuerTrustHandler"/>
  </Handlers>
</PicketLink>

【问题讨论】:

    标签: jboss-eap-6 picketlink


    【解决方案1】:

    我向 Red Hat 寻求了一些帮助,他们为我提供了一些示例代码。 Here's the sample.

    就我而言,我需要扩展的不仅仅是 AuthenticationHandler;我需要以相同的方式扩展所有 SP 处理程序,以及自定义 KeyManager 和 ConfigurationProvider。对于处理程序,我通常可以使用具有以下类型的通用/委托 SAML2Handler 来完成它。

    public abstract class MyDelegatingSAML2Handler<DH extends SAML2Handler> implements SAML2Handler
    

    【讨论】:

      猜你喜欢
      • 2022-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-29
      • 2011-05-05
      • 2015-08-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多