Authentication Shibboleth-如何配置多个密码身份验证配置

Authentication Shibboleth-如何配置多个密码身份验证配置,authentication,single-sign-on,shibboleth,Authentication,Single Sign On,Shibboleth,在shibboleth,我们有密码授权配置 我希望有多个PasswordAuthn配置节点,这些节点将根据SP进行选择 我可以从reply party.xml中选择基于SP的身份验证方法 但是,如果我希望有多组PasswordAuthn配置,并根据SP进行选择,该怎么办 例如 SP1-密码配置1 SP2-passwordconf2我得到了解决方案, 如果其他人需要相同的解决方案 系统/流程/authn 使用您选择的名称复制以下流 password-authn-beans.xml password

在shibboleth,我们有密码授权配置

我希望有多个PasswordAuthn配置节点,这些节点将根据SP进行选择

我可以从reply party.xml中选择基于SP的身份验证方法 但是,如果我希望有多组PasswordAuthn配置,并根据SP进行选择,该怎么办

例如

SP1-密码配置1

SP2-passwordconf2

我得到了解决方案, 如果其他人需要相同的解决方案

系统/流程/authn 使用您选择的名称复制以下流

password-authn-beans.xml password-authn-flow.xml

passworda-authn-beans.xml passworda-authn-flow.xml

为新流提供一组单独的数据源配置 编辑

passworda-authn-beans.xml
为新流程提供单独的登录页面 编辑

passworda-authn-flow.xml
复制login.vm页面并对其进行个性化设置

现在,每个身份验证流都由唯一的名称标识 类似于基于密码的身份验证流是“密码” 因此,我们必须为新的authn流定义一个名称 让我们称之为“我的密码”

编辑文件系统**/conf/webflow-config.xml** 添加下面的行

<webflow:flow-location id="authn/Mypassword" path="../system/flows/authn/mypassword-authn-flow.xml" />

现在为新的authn流设置数据源的配置

转到conf/authn将password-authn-config.xml文件复制到 mypassword-authn-config.xml

设置数据源以配置用户数据源以进行身份验证

conf/idp.properties中启用新流

idp.authn.flows=Password | Mypassword

为特定的customera数据源配置新的authn流 在

conf/relependent-party.xml


passworda-authn-flow.xml
    <view-state id="DisplayUsernamePasswordPage" view="mylogin">
<webflow:flow-location id="authn/Mypassword" path="../system/flows/authn/mypassword-authn-flow.xml" />
<bean parent="RelyingPartyByName" c:relyingPartyIds="urn_ping_saml"> 
            <property name="profileConfigurations">
                <list>
                <bean parent="Shibboleth.SSO" p:postAuthenticationFlows="attribute-release" />
                <ref bean="SAML1.AttributeQuery" />
                <ref bean="SAML1.ArtifactResolution" />
                <bean parent="SAML2.SSO" p:authenticationFlows="#{{'Mypassword'}}" p:postAuthenticationFlows="attribute-release" p:encryptAssertions="false"/>
                <ref bean="SAML2.ECP" />
                <ref bean="SAML2.Logout" />
                <ref bean="SAML2.AttributeQuery" />
                <ref bean="SAML2.ArtifactResolution" />
                <ref bean="Liberty.SSOS" />
                </list>
            </property>
        </bean>