我使用SSOCIRCE实现了Spring SAML示例应用程序,效果很好。现在我一直在尝试为客户的ADF实现它。以下是我认为需要的配置,如果我错了,请纠正我:
<bean class="org.opensaml.saml2.metadata.provider.HTTPMetadataProvider">
<constructor-arg>
<value type="java.lang.String">http://idp.ssocircle.com/idp-meta.xml</value>
</constructor-arg>
<constructor-arg>
<value type="int">5000</value>
</constructor-arg>
<property name="parserPool" ref="parserPool"/>
</bean>
<bean class="org.springframework.security.saml.metadata.MetadataGenerator">
<property name="entityId" value="replaceWithUniqueIdentifier"/>
<property name="extendedMetadata">
<bean class="org.springframework.security.saml.metadata.ExtendedMetadata">
<property name="signMetadata" value="false"/>
<property name="idpDiscoveryEnabled" value="true"/>
</bean>
</property>
</bean>
我还没有弄明白以下几点:
如果您能向我澄清以上内容,我将不胜感激。如果可能的话,请为我提供一个简单的教程,帮助我将SAML与支持Spring Security性的应用程序集成,因为我还没有找到相同的教程。
非常感谢
要使SP和IdP(ADFS)之间的SAML工作,您必须相互交换元数据。
ADFS元数据可在URL上找到https://adfs-host/FederationMetadata/2007-06/FederationMetadata.xml您可以使用HTTPMetadataProvider
在SP中注册它们,或者下载它们并从类路径读取,或者使用ResourceBackedMetadataProvider
从文件系统读取它们。
对于SP元数据,您必须配置MetadataGenerator
(正如您在问题中所述),然后通过FilterChainProxy
公开它。这是一个Java配置(它等效于XML):
java prettyprint-override">@Bean
public FilterChainProxy samlFilter() throws Exception {
List<SecurityFilterChain> chains = new ArrayList<SecurityFilterChain>();
chains.add(new DefaultSecurityFilterChain(
new AntPathRequestMatcher("/saml/metadata/**"), metadataDisplayFilter()));
return new FilterChainProxy(chains);
}
然后,您可以访问URL上的SP元数据https://sp-host/saml/metadata并将其注册为依赖方信托。同样,您可以通过URL执行此操作,也可以从(下载的)文件导入数据。
基本上,如果您遵循使用XML配置的Spring Security SAML参考文档,您应该不会有问题。如果您需要切换到Java配置,您可以找到参考的vdenotaris/spring boot security saml示例,或者我的工作原型sw samuraj/blog spring security。
我有问题,因为我正在为用EJB3编写的应用程序创建Spring Security filter。我为这个应用程序添加了Spring安全过滤器链。我从spring-security-saml2-sample.war.得到了配置,它工作正常,但我metadata.xml文件有问题,它是在加载每个页面时生成的。问题是-如何导出这个xml文件做ADFS 2.0服务器,IDP(ADFS 2.0服务器)会看到
SQLAlchemy 1.4 / 2.0 Tutorial 此页是 SQLAlchemy 1.4/2.0教程 . 上一页: 处理事务和DBAPI |下一步: |next| 使用数据库元数据 随着引擎和SQL执行的停止,我们准备开始一些炼金术。SQLAlchemy Core和ORM的核心元素是SQL表达式语言,它允许流畅、可组合地构造SQL查询。这些查询的基础是表示数据库概念(如表和列)的Pytho
Hibernate 中有一个非常丰富的元级别(meta-level)的模型,含有所有的实体和值类型数据的元数据。 有时这个模型对应用程序本身也会非常有用。比如说,应用程序可能在实现一种“智能”的深度拷贝算法时,通过使用 Hibernate 的元数据来了解哪些对象应该被拷贝(比如,可变的值类型数据),那些不应该(不可变的值类型数据,也许还有某些被关联的实体)。 Hibernate 提供了 Class
在前面讲过,execute、executeQuery和executeUpdate方法都可以返回ResultSet对象。通过ResultSet接口的next方法可以对数据进行扫描,但要获得ResultSet对象的元数据(列数、列名、字段类型等),就需要使用ResultSet接口的getMetaData方法,getMetaData方法的定义如下: ResultSetMetaData getMetaDa
我想处理Spring Security SAML。为此,我开始探索Spring Security SAML。开始时,我在SSOCircle创建了一个帐户。然后我配置了IDP元数据和SP元数据的生成(4.2.2和4.2.3)。在我设置: 当我开始申请时,我有: 或者 如何配置Spring Security SAML?
使用元数据 (metadata) 来给你的代码提供额外的信息。一个元数据注解以字符 @ 开头,后面跟着的要么是编译期常量(比如 deprecated),要么是常量构造函数的调用。 有两个注解可应用于所有的 Dart 代码:@deprecated 和 @override。使用 @override 的例子,请参阅 继承类。下面是一个使用 @deprecated 注解的例子: class Televis