2
我一直在环顾四周,试图找到如何将ADFS身份验证添加到现有的ASP.Net MVC应用程序的示例。当您创建新应用程序时,我找到了很多关于如何使用向导执行此操作的示例。ADFS与现有的ASP.Net MVC应用程序
我可以创建一个新的应用程序并将代码和配置复制过来,但这个接缝像一个奇怪的方法。
有谁知道一个很好的指导或资源?
我一直在环顾四周,试图找到如何将ADFS身份验证添加到现有的ASP.Net MVC应用程序的示例。当您创建新应用程序时,我找到了很多关于如何使用向导执行此操作的示例。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你需要钥匙来指出这些条目:
<add key="ida:AdfsMetadataEndpoint" value="https://adfs.yourdomain.com/federationmetadata/2007-06/federationmetadata.xml" />
<add key="ida:Audience" value="https://yourmvc.yourdomain.com" />
注意您正在使用的ADFS版本有很大不同。我们发现,尽管获得令牌可以与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");));
}
}
});
Thanks for this。我使用您的示例和Cloud Identity链接了解了这一点。 – Lee