我想处理Spring Security SAML。为此,我开始探索Spring Security SAML。首先,我在SSOCircle创建了一个帐户。比我配置IDP元数据和生成SP元数据(4.2.2和4.2.3)。在entityId
我设置:
<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 :(得分:14)
按照QuickStart章节中的步骤操作。需要注意的一些差异:
sample / src / main / webapp / WEB-INF / securityContext.xml的metadataGeneratorFilter部分应如下所示(注意: 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>
答案 1 :(得分:3)
元数据生成器过滤器为您的应用程序(服务提供商)生成元数据。您提供的实体ID(http://idp.ssocircle.com)已经被SSO Circle使用,您应该创建一个描述您的应用的唯一值,例如:瓮:试验:赫尔辛基:MyApp的
就像手册中说的那样:
确保将entityId值替换为唯一的字符串 在SSO Circle服务中(例如,urn:test:yourname:yourcity)