考慮用於Intranet的站點,該站點也應可從Internet訪問。在Intranet上,您希望使用Windows身份驗證,並在Internet上希望用戶使用表單身份驗證訪問網站。將Windows身份驗證與表單身份驗證混合使用
是否有可能與這兩者建立混合模式?我只想驗證用戶是否使用其中任何一個登錄而不使用兩個站點。
考慮用於Intranet的站點,該站點也應可從Internet訪問。在Intranet上,您希望使用Windows身份驗證,並在Internet上希望用戶使用表單身份驗證訪問網站。將Windows身份驗證與表單身份驗證混合使用
是否有可能與這兩者建立混合模式?我只想驗證用戶是否使用其中任何一個登錄而不使用兩個站點。
你可能想看看一個類似的問題:mixed mode authentication against AD and fallback to the database if it fail with Membership providers
在回答我斷定使用一個門面的解決方案。我已經利用這種方法將AD集成到多個域,aspnet sql提供程序和一個可衡量的成功的傳統身份驗證數據庫。
嘿,我已經看到這個頁面談論與IIS7的2級認證:IIS 7.0 Two-Level Authentication with Forms Authentication and Windows Authentication,而這與你具有相同的要求:IIS混合模式認證的ASP.NET應用程序 - http://beaucrawford.net/post/IIS-ldquo3bmixed-moderdquo3b-authentication-for-ASPNET-Application.aspx,但我沒有嘗試任何,也許它適合你?我想你只需要根據你的需求來調整它。
我知道沒有建立這樣做的方式。但是您可以使用簡單的解決方法:
選擇表單身份驗證作爲您的主要身份驗證並將其映射到Windows身份驗證。您可以在應用程序AuthenticateRequest中使用global.asax或特殊的http處理程序或模塊來執行此操作。在此請求中標識您的Intranet用戶,並以編程方式使用FormsAuthentication.SetAuthCookie設置表單身份驗證Cookie。
我實際上將它用於混合模式表單和IP-Number認證,但我認爲它也適用於窗體和Windows認證。
順便說一句:也許混合模式形式和IP號碼身份驗證是您的問題的第二個解決方案。如果您的服務器是DMZ的一部分,您可以通過IP號碼子網檢測您的Intranet用戶。
鏈接的解決方案似乎很徹底,但確實需要完全信任或gacced提供程序集。 – 2010-07-18 00:51:58