如何在2022年为你的.net mvc网站创建一个FederationMetadata.xml文件,供AD FS或Pin



当将您的网站添加到新的SSO(AD,在这种情况下为Ping(时,AD通常会要求一件事:">请共享您网站的元数据URL";

我的应用程序使用WS-Federation及其在IIS上的宿主。它是一个2013年构建的应用程序,最好对代码进行最小的更改。

目前,(旧的(应用程序已经在一个即将退役的AD中注册,2013年使用的旧元数据找不到了。因此,我需要一个新的元数据来提供给新的AD。

早在2020年,我就已经完成了这项工作,微软网站上提供了WindowsIdentityFoundation SDK 4.0,因此遵循以下内容:如何为";信赖方信任;以及";索赔提供者信托;对于ADFS 2.0,可以为要注册到新AD的现有站点创建一个完全有效并被AD接受的FederationMetadata文件。

当时我保存了我使用的所有链接/URL,但随着SDK在2020年底倒闭,我保存的一些示例网站现在找不到了。我被卡住了。

现在,两年后,我们不再有WIF SDK了,在这里我也在努力做到这一点。其他地址/网站。为了更好地理解一种新方法,我尝试在Visual Studio中创建一个新的应用程序,看看通过使用VS的授权和发布生成了什么FederationMetadata.xml。但无论我做什么,都找不到FederationMetadata.xml,构建/发布文件夹,IIS,任何地方。

所以,我的问题是:

如何使用新的FederationMetadata文件创建新的应用程序?

或者更好的是,如何为现有网站创建FederationMetadata?

谢谢。

•首先,请确保在您的环境中使用正确的设置安装了ADFS,并且可以通过配置的公共DNS记录从外部网访问ADFS服务。一旦实现了这一点,请检查您的网站是否根据托管并加入域的IIS服务器的DNS配置了正确的网站名称。

一旦上述内容正常工作,并且可以通过在内部和公共DNS中添加所需的DNS记录从内部网和外部网访问,请确保ASP.NET MVC应用程序中是否包含与Windows身份联合框架有关的系统身份验证和安全类,该框架为基于声明的身份验证提供基本编程模型。

•正如您所说,由于WIF SDK已停业,不再可用,因此Microsoft在.NET Framework 4.5中包含了WIF类,这些类应用于ASP.NET应用程序中基于声明的身份验证。因此,要执行此操作并包含所需的声明标识主体和程序集包,请参阅下面的文档链接以获取更多信息。它将帮助您在应用程序中包含基于安全令牌的身份验证所需的类和命名空间。

https://learn.microsoft.com/en-us/dotnet/api/system.security.claims?view=netframework-4.5.2

完成上述操作后,您可以通过转到ADFS工作区中的Endpoints部分来创建ADFS联合身份验证元数据URL。在其中,转到"元数据"部分,复制给定的链接,该链接状态为"联合元数据",并在链接的前缀中添加您的ADFS服务FQDN,以形成ADFS联合元数据URL,即"https://adfsservicename.domainname.com/FederationMetadata/2007-06/FederationMetadata.xml">

•当通过ADFS生成联盟元数据URL时,请打开您的ASP。NET MVC应用程序,并将其身份验证更改为内部部署,然后使用联合元数据URL配置内部部署权限,并将应用程序ID URI保留为空,以从web.config文件中检测应用程序URI名称。完成后,检查"System.IdentityModel"和添加到项目目录中的其他类。然后,在ADFS服务器中将应用程序配置为"依赖方",并相应地配置SSO。

请参阅下面的链接,了解有关为ASP.NET MVC应用程序创建ADFS URL的上述步骤的更多信息:-

https://www.dotnetcurry.com/windows-azure/1158/using-adfs-azure-single-signon-aspnet-mvc

最新更新