簡體   English   中英

將Windows身份驗證與表單身份驗證混合

[英]Mixing Windows Authentication with Forms Authentication

考慮一個用於Intranet的站點,該站點也應該可以從Internet訪問。 在Intranet上,您希望使用Windows身份驗證,並且在Internet上您希望用戶使用表單身份驗證訪問該站點。

是否可以設置這兩種混合模式? 我只想驗證用戶是否使用其中任何一個登錄,而不使用兩個站點。

您可能希望查看類似的問題: 針對AD的混合模式身份驗證以及如果它與成員資格提供程序失敗則回退到數據庫

在答案中,我提出了一個使用立面的解決方案。 我利用這種方法將AD集成到多個域,aspnet sql提供程序和遺留認證數據庫,並取得了可觀的成功。

我知道沒有內置的方法來做到這一點。 但您可以使用一個簡單的解決方法:

選擇表單身份驗證作為主要身份驗證並將Windows身份驗證映射到它。 您可以使用global.asax或特殊的http處理程序或模塊在應用程序AuthenticateRequest中執行此操作。 在此請求中標識您的Intranet用戶,並以編程方式使用FormsAuthentication.SetAuthCookie設置表單身份驗證cookie。

我實際上將它用於混合模式表單和IP數字身份驗證,但我認為它也適用於表單和Windows身份驗證。

順便說一句:也許混合模式表單和IP數字身份驗證是您的問題的第二個解決方案。 如果您的服務器是DMZ的一部分,您可以通過IP號子網檢測您的Intranet用戶。

嘿,我看過這個頁面談論IIS7的2級身份驗證: 帶有表單身份驗證和Windows身份驗證的IIS 7.0雙級身份驗證 ,以及與您具有相同要求的另一個:ASP.NET應用程序的IIS混合模式身份驗證 - http ://beaucrawford.net/post/IIS-ldquo3bmixed-moderdquo3b-authentication-for-ASPNET-Application.aspx ,但我沒試過,也許它適合你? 我想你只需要根據自己的需要進行調整。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM