[英]How to protect all contents(.aspx,.asp,.js and img ,etc) of an asp.net web site if we use Azure AD authentication?
[英]How to add Azure AD authentication to existing .net web site
我有一個現有的.net Web表單站點使用ADFS身份驗證( System.IdentityModel.dll )與不同的自定義域,每個客戶一個。 在Global.asax.cs中,我將用戶重定向到相應的ADFS端點。
void WSFederationAuthenticationModule_RedirectingToIdentityProvider(object sender, RedirectingToIdentityProviderEventArgs e)
{
if (org == "customername1")
{
strWhr = "http://adfs.customername1.com/adfs/services/trust";
e.SignInRequestMessage.HomeRealm = strWhr;
}
}
現在我需要添加Azure AD身份驗證,不能使用Visual Studio向導,因為已經設置了身份驗證。
有沒有什么方法可以重用我擁有的東西並重定向用戶他們相同的Azure AD,將HomeRealm設置為https://login.windows.net/tenatName ?
我不想在ADFS和每個新客戶Azure AD之間添加信任,至少從現在開始,我希望盡可能同時進行ADFS和Azure AD身份驗證。
通過VS使用組織帳戶身份驗證創建的站點在Startup.Auth.cs文件中進行身份驗證配置,這是否必須與使用Owin dll一起完成?
如果可能的話,我希望同時進行ADFS和Azure AD身份驗證。
現在設計Azure AD的方式,只有在應用程序也作為基於Azure雲的服務運行時,上述組合才有效。 這是鏈接所說的內容。
“將Active Directory和任何其他本地目錄擴展到Azure AD,以便為所有基於雲的應用程序啟用單點登錄。”
https://azure.microsoft.com/en-us/services/active-directory/
我假設您的應用程序在前提下運行,這意味着您可能無法混淆它們。
我沒有真正回答我的問題,因為我將創建一個新項目並復制網頁內容。 我正在測試一個潛在的解決方案,看起來不太好但是有效。 這可能是另一種更好的方式,所以我願意接受投入。
if (org == "customername1")
{
app.UseWsFederationAuthentication(new WsFederationAuthenticationOptions
{
Wtrealm = realm,
MetadataAddress = adfsMetadata,
});
}
else if (org == "customername2")
{
app.UseOpenIdConnectAuthentication(new OpenIdConnectAuthenticationOptions
{
ClientId = clientId,
Authority = authority,
PostLogoutRedirectUri = postLogoutRedirectUri,
}
我所做的是根據用戶登錄的URL使用WSFederation或OpenId協議。 它保持與OWIN創建的cookie的會話,所以到目前為止我做的測試看起來很有希望。 要獲得此代碼,只需創建ADFS身份認證等與Azure的AD一個項目,從一個到另一個添加缺少的NuGet包解決方案,並復制代碼StartupAuth.cs。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.