2017-01-30 23 views
0

私はSpring SAMLサンプルアプリケーションを使用し、指示に従っています。私の設定は、SSOCircle IDPが使用されたときに期待どおりに機能しました。しかし、私はこれをADFSで動作させたかったのです。だから、私はADFSでSpring SAMLを設定する方法の指示に従った。私がSpring SAMLアプリケーションにアクセスすると、adfs/services/trustへのURLを持つIDP選択ページが表示されます。私がそれをクリックすると、私は期待どおりのAD認証を求められます。しかし、私はAD認証のためのユーザーID /パスワードを提供すると、それを処理し、 "ページを表示できません"と表示されたメッセージを表示します。アドレスバーでSpring SAMLとADFS 2.0

、ページへのURLは次のように表示されます。

https://localhost:8443/spring-security-saml2-sample/saml/login?idp=http%3A%2F%2FTest-DC.TEST.local%2Fadfs%2Fservices%2Ftrust

Test-DC.TEST.localは、ADFSとADがホストされている私のサーバーです。

tomcatログにエラーはありません。

ADSでSpring SAMLをセットアップした人は、ここで助けてください。

+0

まず、SAMLトレーサを使用してアサーションを取得できます。使用されているバインディングに基づいて、XML署名に問題がある可能性があります。 ログからのエラーメッセージがなくても、ADFSで正常にセットアップした人でも、それを伝えるのは難しいです。 SpringのSAMLドキュメントには、ADFS統合のセクションもあります。ありがとうございます。 –

+0

私はSAMLトレーサを使用しようとします。 FYI:私はSpringのドキュメントからADFSの統合を使用しました – kumaran

+0

ADFSイベントログを見て、エラーの内容を確認してください。 – nzpcmad

答えて

0

SHA1ではなくSHA2を使用していることを確認してください。

:以下のようにあなたのSPのメタデータを設定する際に、使用しているたSecurityContextを

<!-- setting encryption to SHA2 instead of default SHA1 --> 
    <bean class="path.to.SSOConfigBean"/> 

またはUPDATE:

いずれかafterPropertiesSet方法上書き:

public class SSOConfigBean 
    implements InitializingBean 
{ 

    private String signatureAlgorithmSHA = SignatureConstants.ALGO_ID_SIGNATURE_RSA_SHA256; 
    private String digestAlgorithmSHA = SignatureConstants.ALGO_ID_DIGEST_SHA256; 

    @Override 
    public void afterPropertiesSet() throws Exception 
    { 
    BasicSecurityConfiguration config = (BasicSecurityConfiguration) Configuration.getGlobalSecurityConfiguration(); 
    config.registerSignatureAlgorithmURI("RSA", signatureAlgorithmSHA); 
    config.setSignatureReferenceDigestMethod(digestAlgorithmSHA); 
    } 
} 

をし、あなたのSecurityContextがにこれを追加

<bean id="metadataGeneratorFilter" class="org.springframework.security.saml.metadata.MetadataGeneratorFilter"> 
    <constructor-arg> 
     <bean class="org.springframework.security.saml.metadata.MetadataGenerator"> 
     <property name="entityId" value="urn:samltest"/> 
     <property name="extendedMetadata"> 
      <bean class="org.springframework.security.saml.metadata.ExtendedMetadata"> 
      <property name="idpDiscoveryEnabled" value="false"/> 
      <property name="local" value="true"/> 
      <property name="signingAlgorithm" value="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/> 
      </bean> 
     </property> 
     </bean> 
    </constructor-arg> 
    </bean> 
関連する問題