3

現在、スプリングセキュリティが構成され、正しく機能しています。CASを機能させて、作成した複数のアプリでシングルサインオンを実行できるようにしたい。casにカスタムuserdetailServiceを使用させる方法がわかりません。

現在、これは私のspring-security.xmlです

    <authentication-manager alias="authManager">
        <authentication-provider user-service-ref="userDetailsService">
            <password-encoder ref="passwordEncoder">
                <salt-source ref="saltSource"/>
            </password-encoder>
        </authentication-provider>
    </authetication-manager>

私が見つけたすべてのcasの例から、次のように管理を実装すると言われています。

<beans:bean id="casAuthenticationProvider" class="org.springframework.security.cas.authentication.CasAuthenticationProvider">
    <beans:property name="authenticationUserDetailsService">
        <beans:bean class="org.springframework.security.core.userdetails.UserDetailsByNameServiceWrapper">
            <beans:constructor-arg ref="userDetailsService"/>
        </beans:bean>
    </beans:property>
    <beans:property name="serviceProperties" ref="serviceProperties"/>
    <beans:property name="ticketValidator">
        <beans:bean class="org.jasig.cas.client.validation.Cas20ServiceTicketValidator">
            <beans:constructor-arg index="0" value="https://localhost:8443/cas"/>
        </beans:bean>
    </beans:property>
    <beans:property name="key" value="1234554321"/>
</beans:bean>

<authentication-manager alias="authManager">
    <authentication-provider ref="casAuthenticationProvider"/>
</authentication-manager>

ドキュメントは紛らわしいです。動作中のスプリングセキュリティアプリから、casを実装し、カスタムユーザーの詳細を引き続き使用するアプリに移行するにはどうすればよいですか?また、jspページで何を変更する必要がありますか?どんな助けでも大歓迎です。

ありがとう

4

2 に答える 2

4

独自のパスワード+ソルトエンコーダーを使用してCASにパスワードを認証させたいと思います。

残念ながら、これは単純な構成ではなく、Spring アプリには構成がありません。カスタム パスワード + ソルト エンコーダーを含めるには、CAS を再コンパイルする必要があります。したがって、Spring が認証のために CAS を呼び出すと、同じカスタム パスワード + ソルト エンコーダーが使用されます。

幸いなことに、CAS チームは WAR オーバーレイ アプローチを作成したため、ユーザーは、カスタム パスワード + ソルト エンコーダーを含めるために CAS サーバーを簡単に再コンパイルできます。

ドキュメントはこちら https://wiki.jasig.org/display/CASUM/Best+Practice+-+Setting+Up+CAS+Locally+using+the+Maven2+WAR+Overlay+Method

手順に従い、システムに Maven2 がインストールされていることを確認するには、辛抱強く待つ必要があります。Maven が処理するため、ライブラリをダウンロードする必要はありません。WAR オーバーレイ アプローチの基本的な考え方は、カスタム Java ライブラリを追加するためのサブフォルダーを作成できる Maven 制御フォルダーを作成することです。

Maven は、カスタム Java コードを CAS ファイルと一緒に再コンパイルして、SSL サーバーに発行できる WAR ファイルを生成するために使用されます。

CAS と Spring アプリの両方が SSL を使用していることを確認してください。

幸運を!

于 2012-11-04T12:19:38.490 に答える
2

CAS インフラストラクチャをセットアップする際に推奨する手順は次のとおりです。

  1. まず第一に、CAS とは何か、そしてその仕組みについて知っておく必要があります。この記事と jasig-webpage をチェックしてください。
  2. 次に、Spring Source からサンプルをダウンロードし、cas-sample を実行して、それを試して、より良い感触を得てください。(readme ファイルがあるのか​​、Spring ソースの Web ページで使用方法に関する情報が得られるのかはわかりませんが、間違いなくそこに情報があります)
  3. この単純な CAS サーバーに対してアプリを認証させます (CAS Web ページで構成例を見つけてください)。
  4. 現在の認証システムを使用してユーザーを承認する独自の CAS サーバーをセットアップおよび構成します。
    • SAML プロトコルを使用して、認証後に CAS からクライアント アプリにロールなどを転送できます。
    • クライアント アプリでロールを適用するには、独自に実装する必要がある場合があります。
  5. CAS-Server を使用するように他のアプリを適応させる
于 2012-10-31T22:06:38.867 に答える