2015-02-09 118 views
2

我想處理Spring Security SAML。爲此,我開始探索Spring Security SAML。最初,我在SSOCircle創建了一個帳戶。比配置IDP元數據和生成SP元數據(4.2.2和4.2.3)。在entityId我設置:如何在Spring Security SAML示例中配置IDP元數據和SP元數據?

<bean id="metadataGeneratorFilter" class="org.springframework.security.saml.metadata.MetadataGeneratorFilter"> 
    <constructor-arg> 
     <bean class="org.springframework.security.saml.metadata.MetadataGenerator"> 
      <property name="entityId" value="http://idp.ssocircle.com"/> 
     </bean> 
    </constructor-arg> 
</bean> 

當我開始申請,我有:

Error occurred: 
Reason: Unable to do Single Sign On or Federation. 

Error occurred: 
Reason: Unable to get AuthnRequest. 

如何配置Spring Security SAML?

+0

嗨,我不知道你。但有一點要與你們澄清一下,就是SAML與spring security的整合。你完成了SAML集成嗎?因爲我從5天就堅持了。我有兩個門戶網站,我想將它們整合到SAML,即單一登錄。我正在使用spring mvc。我想得到與春季安全saml。你能告訴我這件事嗎?在此先感謝 – 2015-02-12 05:40:12

+0

@Mehbub,可惜我沒有一個好消息。我也不瞭解Spring Security SAML。 – TestUser 2015-02-12 07:32:16

+0

ops :(如果你得到任何信息請通知我 – 2015-02-12 08:41:48

回答

2

元數據生成器過濾器爲您的應用程序(服務提供者)生成元數據。您提供的實體ID(http://idp.ssocircle.com)已被SSO圈使用,您應創建一個描述您的應用的唯一值,例如金塔:測試:赫爾辛基:MYAPP

就像手冊說:

make sure to replace the entityId value with a string which is unique within the SSO Circle service (e.g. urn:test:yourname:yourcity)

+0

好的,我把'entityId'改成例如'urn:test:helsinki:myapp'。但現在,當我啓動應用程序時,出現錯誤'Reason: SAML Request is invalid.'。may be this'entityId'我應該粘貼到http://www.ssocircle.com/en/? – TestUser 2015-02-10 06:23:13

+0

上的某個字段您是否已經將應用程序的元數據導出到SSO Circle,然後執行entityID請按照手冊中的步驟操作: – 2015-02-10 07:46:53

+0

我遵循以下步驟:1.更改'metadata' bean 2.更改'metadataGeneratorFilter'並將'entytiId'設置爲'urn:test:helsinki:myapp' 3。啓動應用程序,但每次出現錯誤:'原因:SAML請求無效。因此,我無法獲取元數據信息。 – TestUser 2015-02-10 08:48:06

9

按照在QuickStart章的步驟。有些區別需要注意:

  1. 註冊在http://www.ssocircle.com/。您需要驗證您的電子郵件地址。
  2. 樣品的metadataGeneratorFilter節/ src目錄/主/ web應用/ WEB-INF/securityContext.xml應該像這樣(注: signMetadata屬性被註釋掉):

    <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:test:YourName:YourCity"/> 
        <!--<property name="signMetadata" value="false"/>--> 
        </bean> 
    </constructor-arg> 
    

  3. 在本地構建並啓動Web服務器。然後在http://localhost:8080/spring-security-saml2-sample/saml/metadata下載元數據。將內容複製到剪貼板。
  4. 更新您的新配置文件的元數據在https://idp.ssocircle.com/sso/hos/ManageSPMetadata.jsp
  5. 輸入服務的FQDN爲「urn:test:YourName:YourCity」。你需要爲你的名字和你的城市輸入唯一的值。粘貼上面的元數據。
  6. 測試:
    1. 註銷SSO Circle服務。
    2. 轉到http://localhost:8080/spring-security-saml2-sample
    3. 您應該被重定向到SSO圈子登錄。
    4. 使用您的SSO Circle憑證登錄。
    5. 您應該被重定向到您的本地服務提供商頁面並進行身份驗證。
+0

感謝哥們。我不知道我剛剛做了什麼,但它似乎起作用,與其他SAML「解決方案」相比,這是一個進步。 – 2017-01-11 07:12:03

相關問題