0

少し苦労した後、ワイルドフライのstandalone.xmlを設定して、LDAPサーバーを再度認証するようにしました。

               <security-domain name="LDAPAuth" cache-type="default">
                <authentication>
                    <login-module code="org.jboss.security.auth.spi.LdapExtLoginModule" flag="required">
                        <module-option name="java.naming.provider.url" value="ldap://URL:389"/>
                        <module-option name="bindDN" value="username"/>
                        <module-option name="bindCredential" value="password"/>
                        <module-option name="baseCtxDN" value="OU=UsersDC=domain,DC=com"/>
                        <module-option name="baseFilter" value="(sAMAccountName={0})"/>
                        <module-option name="allowEmptyPasswords" value="false"/>
                    </login-module>
                </authentication>
            </security-domain>

jboss-web も設定しました:

<?xml version="1.0" encoding="UTF-8"?>
<jboss-web xmlns:cr="http://www.jboss.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
  http://www.jboss.com/xml/ns/javaee
  http://www.jboss.org/j2ee/schema/jboss-web_5_1.xsd">
    <cr:context-root>/projectName</cr:context-root>
    <security-domain>LDAPAuth</security-domain>
    <use-jboss-authorization>true</use-jboss-authorization>
</jboss-web>

そして私のweb.xml:

<login-config>
    <auth-method>BASIC</auth-method>
    <realm-name>LDAPAuth realm</realm-name>
    <form-login-config>
        <form-login-page>/login.xhtml</form-login-page>
        <form-error-page>/error.xhtml</form-error-page>
    </form-login-config>
</login-config>
...

すべてが正常に動作します。

次のステップは、PicketLink を使用することです。しかし、自分のセキュリティ ドメインを使用するように PicketLink を構成する方法がわかりません。

プログラムで LDAP 接続を確立するための例とチュートリアル、および ID およびサービス プロバイダーと連携するように PicketLink を設定する方法を見つけることができます。しかし、私が知っているように、私のユース ケースには ID プロバイダーとサービス プロバイダーが含まれていますか?!? したがって、接続したい専用サーバーはありません。LDAP クエリは、wildfly サーバーによって処理されます。すべての例で、両方のサーバーが別々のマシンであることがわかります。私は何か間違ったことを理解しましたか?何時間も「グーグル検索」した後、私はますます混乱しています。

追加した

<valve>
     <class-name>org.picketlink.identity.federation.bindings.tomcat.idp.IDPWebBrowserSSOValve</class-name>
</valve>

しかし、picketlink.xml の設定方法がわかりません。ID プロバイダーの URL は? 私が間違って理解している部分が1つだけあると思います。誰かが私を助けることができますか?:-D

4

1 に答える 1

0

ID プロバイダーの URL は?

URL は、SAML SSO の応答と要求を管理し、それらをアプリケーションに送信するためのポータル/IDP として選択したアプリケーションになります。IDP には picketlink.xml ファイルが含まれ、各アプリケーション (SP という名前の picketlink 内) にも picketlink.xml ファイル (WEB-INF-Folder に配置) が含まれます。

ここで picketlink の開始プロジェクトを見てください: https://github.com/jboss-developer/jboss-picketlink-quickstarts

ピケットリンクの例はたくさんあります...

Picketlink のドキュメント (章を読み通すと、IDP および SP の定義と構成ファイルを理解できます): https://docs.jboss.org/author/display/PLINK/Identity+Provider+Configuration

Picketlink IDP - シンプルな設定:

<PicketLink xmlns="urn:picketlink:identity-federation:config:2.1">
    <PicketLinkIDP xmlns="urn:picketlink:identity-federation:config:2.1">
        <IdentityURL>http://localhost:8080/idp/</IdentityURL>
        <Trust>
            <Domains>locahost,mycompany.com</Domains>
        </Trust>
    </PicketLinkIDP>
    <Handlers xmlns="urn:picketlink:identity-federation:handler:config:2.1">
         <Handler class="org.picketlink.identity.federation.web.handlers.saml2.SAML2IssuerTrustHandler" />
        <Handler class="org.picketlink.identity.federation.web.handlers.saml2.SAML2LogOutHandler" />
        <Handler class="org.picketlink.identity.federation.web.handlers.saml2.SAML2AuthenticationHandler" />
        <Handler class="org.picketlink.identity.federation.web.handlers.saml2.RolesGenerationHandler" />
     </Handlers>
</PicketLink>

プロジェクトには、次のものがあります。

  • IDP /ポータル アプリ (戦争、...)

    • WEB-INF picketlink.xml
    • IDP バルブを使用した WEB-INF jboss-web.xml
    • IDP では、必要なすべての login-module を使用できます (デフォルトは jboss-web.xml で指定されたもの)。
  • SP / 一部の SSO 対応アプリケーション

    • WEB-INF picketlink.xml
    • SP バルブを使用した WEB-INF jboss-web.xml
    • SP 側では、ログイン モジュール (org.picketlink.identity.federation.bindings.wildfly.SAML2LoginModule) でセキュリティ ドメインを使用する必要があります。
于 2016-05-23T16:24:28.060 に答える