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