.net 使用父ADFS应用程序对多个应用程序进行身份验证

.net 使用父ADFS应用程序对多个应用程序进行身份验证,.net,iis,single-sign-on,adfs,.net,Iis,Single Sign On,Adfs,我正处于研究将ADF用作应用程序资源合作伙伴(我们的客户请求访问我们的站点)的初始阶段 我最初的想法是开发一个web应用程序,它将处理所有ADF请求/身份验证,然后重定向到我们众多基于web的应用程序中的一个,这些应用程序位于不同的服务器/应用程序池等上。我的想法是,只需编写一个应用程序来处理ADF,其他人可能不知道ADF,只是通过querystring处理通用身份验证。我试图完成的事情有意义吗?我们正在尝试实现ADFS,因为这是我们的客户想要用来访问我们的站点的东西。当您在ADFS中将第一个应

我正处于研究将ADF用作应用程序资源合作伙伴(我们的客户请求访问我们的站点)的初始阶段


我最初的想法是开发一个web应用程序,它将处理所有ADF请求/身份验证,然后重定向到我们众多基于web的应用程序中的一个,这些应用程序位于不同的服务器/应用程序池等上。我的想法是,只需编写一个应用程序来处理ADF,其他人可能不知道ADF,只是通过querystring处理通用身份验证。我试图完成的事情有意义吗?我们正在尝试实现ADFS,因为这是我们的客户想要用来访问我们的站点的东西。

当您在ADFS中将第一个应用程序(RP1)配置为依赖方(RP)时,在身份验证之后,ADFS根据RP1的配置参数(令牌标识符,声明)发送特定于您的应用程序(RP1)的访问令牌(有时加密)、签署证书等。
您不能与其他应用程序(如应用程序2)共享此令牌

如果您打算通过RP1->App2的身份验证,那么您的两个web应用程序是否都链接? 在这种情况下,您可以从ADFS令牌(在RP1中)提取声明并将其传递给另一个应用程序(应用程序2)

用户是否会直接访问App2链接?
如果用户直接点击App2 URL,用户将不会被重定向到ADFS,因为ADFS不知道App2

因此,您基本上是在设计一个解决方案,其中用户将始终通过RP1(在ADFS身份验证之后)访问App2

推荐的方法是将App2添加为ADFS的依赖方,并将App2配置为处理ADFS令牌(SAML/WS-FED)。 它提供了更多的安全性和灵活性(您不需要更改RP1来更改App2)