gpt4 book ai didi

asp.net-mvc - ADFS 与现有 ASP.Net MVC 应用程序

转载 作者:行者123 更新时间:2023-12-03 03:47:44 28 4
gpt4 key购买 nike

我一直在四处寻找,试图找到如何将 ADFS 身份验证添加到现有 ASP.Net MVC 应用程序的示例。我找到了很多关于在创建新应用程序时如何使用向导来完成此操作的示例。

我可以创建一个新应用程序并复制代码和配置,但这看起来像是一种奇怪的方法。

有人知道好的指南或资源吗?

最佳答案

我们在 Cloud Identity 上找到了此博客条目对开始类似的事情非常有帮助。我们使用的是 Web API,因此并不完全相同。

您需要将其添加到您的 Startup.Auth.cs 文件中:

app.UseActiveDirectoryFederationServicesBearerAuthentication(
new ActiveDirectoryFederationServicesBearerAuthenticationOptions
{
Audience = ConfigurationManager.AppSettings["ida:Audience"],
MetadataEndpoint = ConfigurationManager.AppSettings["ida:MetadataEndpoint"]
});

在您的 web.config 中,您将需要 key 来指向这些条目:

<add key="ida:AdfsMetadataEndpoint" value="https://adfs.yourdomain.com/federationmetadata/2007-06/federationmetadata.xml" />
<add key="ida:Audience" value="https://yourmvc.yourdomain.com" />

请注意,您使用的 ADFS 版本有很大差异。我们发现,在尝试让 token 与 ADFS 3.0 版本一起使用时,它们目前有些问题。本地 ADFS 的工作方式也与 Azure 有很大不同。

我们需要为我们的实现定制声明,并且 this帖子帮助很大。 Startup.Auth.cs 看起来与此类似:

app.UseWindowsAzureActiveDirectoryBearerAuthentication(
new WindowsAzureActiveDirectoryBearerAuthenticationOptions
{
Audience = ConfigurationManager.AppSettings["ida:Audience"],
Tenant = ConfigurationManager.AppSettings["ida:Tenant"],
Provider = new OAuthBearerAuthenticationProvider()
{
OnValidateIdentity = async context =>
{
context.Ticket.Identity.AddClaim(
new Claim(http://mycustomclaims/hairlenght,
RetrieveHairLenght(userID),
ClaimValueTypes.Double,
"LOCAL AUTHORITY");));
}
}
});

关于asp.net-mvc - ADFS 与现有 ASP.Net MVC 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40463956/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com