2015-02-09 533 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

相关问题