Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在Spring Security SAML示例中配置IDP元数据和SP元数据?_Java_Spring_Spring Security_Spring Saml_Opensaml - Fatal编程技术网

Java 如何在Spring Security SAML示例中配置IDP元数据和SP元数据?

Java 如何在Spring Security SAML示例中配置IDP元数据和SP元数据?,java,spring,spring-security,spring-saml,opensaml,Java,Spring,Spring Security,Spring Saml,Opensaml,我想和Spring Security SAML打交道。为此,我开始探索。开始时,我在创建一个帐户。然后配置IDP元数据和生成SP元数据(4.2.2和4.2.3)。在entityIdI设置: <bean id="metadataGeneratorFilter" class="org.springframework.security.saml.metadata.MetadataGeneratorFilter"> <constructor-arg> &

我想和Spring Security SAML打交道。为此,我开始探索。开始时,我在创建一个帐户。然后配置IDP元数据和生成SP元数据(4.2.2和4.2.3)。在
entityId
I设置:

 <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>


如何配置Spring Security SAML?

元数据生成器筛选器为您的应用程序(服务提供商)生成元数据。您提供的实体id()已被SSO循环使用,您应该创建一个描述您的应用程序的唯一值,例如urn:test:helsinki:myapp

就像手册上说的:

确保用唯一的字符串替换entityId值 在SSO Circle服务中(例如urn:test:yourname:yourcity)

按照本章中的步骤操作。需要注意的一些差异:

  • 在注册。您需要验证您的电子邮件地址
  • sample/src/main/webapp/WEB-INF/securityContext.xml的metadataGeneratorFilter部分应该如下所示(注意:signMetadata属性被注释掉):

    
    

  • 在本地构建并启动web服务器。然后在下载元数据。将内容复制到剪贴板
  • 在更新新配置文件的元数据
  • 将服务的FQDN输入为“urn:test:YourName:YourCity”。您需要为您的姓名和城市输入唯一的值。从上面粘贴元数据
  • 要测试:
  • 注销SSO Circle服务
  • 您应该被重定向到SSO Circle登录
  • 使用SSO Circle凭据登录
  • 您应该被重定向到本地服务提供商页面并进行身份验证

  • 好啊我将entityId更改为,例如,
    urn:test:helsinki:myapp
    。但现在,当我启动应用程序时,出现了错误
    原因:SAML请求无效。
    。可能这是我应该粘贴到的某个字段中的
    entityId
    ?在执行entityId更改后,您是否已将应用程序的元数据导出到SSO Circle?请务必一步一步地遵循手册中的说明。我遵循以下步骤:1。更改
    元数据
    bean 2。更改
    metadataGeneratorFilter
    并将
    EntyId
    设置为
    urn:test:helsinki:myapp
    3。启动应用程序。但每次出现错误时:
    原因:SAML请求无效。
    。由于这个原因,我无法获取元数据信息。因此,您在部署过程中遇到错误了吗?或者当您打开应用程序URL时?或者当您单击登录链接时?请附上您的Spring配置XML。@VladimírSchäfer,我已经阅读了关于元数据和metadataGeneratorFilter bean更改的文档,但是我能够构建saml Spring示例,将其部署到Tomcat 8,并且在没有配置更改的情况下,它可以开箱即用。当然,我确实在SSOCIRCE.com上创建了一个帐户,但除此之外,它还起了作用。示例应用程序是否更改为允许此操作?文档是否仍与示例应用程序的当前版本同步?谢谢,我不知道你的情况。但有一件事需要向您澄清,那就是SAML与spring security的集成。你做过SAML集成吗?因为我坚持了5天。我有两个门户网站,我想将它们集成到SAML,即单点登录。我正在使用SpringMVC。我想让saml和spring security联系。你能告诉我那件事吗。谢谢你advance@Mehbub,不幸的是,我没有好消息。我也不了解Spring Security SAML.ops:(如果你得到任何信息,请告诉我。谢谢老兄。我不知道我刚才做了什么,但至少它似乎起了作用,这与其他SAML“解决方案”相比是一个进步。我不明白用什么来代替它?“urn:test:YourName:YourCity”
    Error occurred:
    Reason: Unable to do Single Sign On or Federation.
    
    Error occurred:
    Reason: Unable to get AuthnRequest.
    
    <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>