我目前正处于ADFS推出的第一阶段。 看起来您需要多次安装多个“联合服务”或ADFS实例(如果要与同一方或SaaS应用程序进行多次联合)。 假设您拥有使用应用程序私有实例的不同用户群,或者您拥有多个沙箱环境和一个生产环境。 其他人怎么处理呢?
比方说,我想有一个ADFS实例。 我所有的帐户都在一个域中。 有一个AD环境。 不同的用户组拥有独立的,唯一的SaaS应用程序实例。
让我们说saasprovider.com/groupa和saasprovider.com/groupb是互斥的。
有几个人向我提到了领域和特征ID …请具体说明。 我不能给他们第二个RP信任的相同的元数据文件。 我必须有另一个STS或ADFS实例,对吧? 每个联邦服务安装只能有一个ertity id,对吧?
每个身份数据库应有一个STS(每个Active Directory林有一个ADFS),每个应用程序部署一个RP(在ADFS中作为依赖方加载的FederationMetadata.xml文档)。
例如,Production和Dev可以是同一个ADFS服务器上的两个RP。 联合元数据应随安装而改变。
每个客户端应用程序将在每次安装时指定一个不同的实体标识( EntityDescriptor/@entityID )。 将实体ID与应用程序安装的根相同是常规的。 所以如果你访问http://server/dev/Default.aspx dev,并在http://server/prod/Default.aspx ,那么你的实体可能是http://server/dev/和http://server/prod/分别。
就实际configuration而言,如果手动input参数,则不需要FederationMetadata.xml文件。 否则,您可以使用System.IdentityModel.Metadata (对于.Net 4)或Microsoft.IdentityModel.Protocols.WSFederation.Metadata (对于WIF上的<= .Net 3.5)按需生成文件。
这一切都取决于你需要多lessAD的实例?
在独立域中的AD的每个实例都需要另一个ADFS实例。
只要实体ID,领域等不同,就可以多次添加相同的RP。
因此,您可以在许多不同的环境中安装相同的RP,并且它们都可以使用相同的ADFS实例。