我目前处于 ADFS 推出的第一阶段。如果您想与同一方或 SaaS 应用程序多次联合,您似乎需要安装多个“联合服务”或 ADFS 实例。假设您有不同的用户群使用应用程序的私有实例,或者您有多个沙盒环境和一个生产环境。其他人是如何处理的?
假设我想要一个 ADFS 实例。我所有的帐户都在一个域中。有一个 AD 环境。不同的用户集具有独立的、唯一的 SaaS 应用程序实例。
假设saasprovider.com/groupa和saasprovider.com/groupb是互斥的。
有几个人向我提到了领域和 etity id……请具体说明。我不能为第二个 RP 信任提供相同的元数据文档。我必须有另一个 STS 或 ADFS 实例,对吗?每个联合服务安装只能有一个 ertity id,对吗?
这完全取决于您需要多少个 AD 实例?
单独域中的每个 AD 实例都需要另一个 ADFS 实例。
只要实体 id、领域等不同,您可以根据需要多次添加相同的 RP。
因此,您可以在许多不同的环境中安装相同的 RP,并且它们都可以使用相同的 ADFS 实例。
每个身份数据库应该有一个 STS(每个 Active Directory 林有 1 个 ADFS)和每个应用程序部署一个 RP(
FederationMetadata.xml
作为依赖方加载到 ADFS 中的文档)。例如,生产和开发可以是同一 ADFS 服务器上的两个 RP。联合元数据应随安装而更改。
EntityDescriptor/@entityID
每个客户端应用程序将在每次安装时指定不同的实体 ID ( )。按照惯例,实体 ID 与应用程序安装的根目录相同。因此,如果您访问 dev athttp://server/dev/Default.aspx
和 prod athttp://server/prod/Default.aspx
,那么您的实体可能分别是http://server/dev/
和http://server/prod/
。FederationMetadata.xml
就实际配置而言,如果手动输入参数,则不需要文件。System.IdentityModel.Metadata
否则,您可以使用(for .Net 4) 或Microsoft.IdentityModel.Protocols.WSFederation.Metadata
(for <= .Net 3.5 on WIF)按需生成文件。