3 回答

TA貢獻1828條經驗 獲得超13個贊
實際上,您可以做到。@dr_draik有點晚了,但這對我來說在谷歌搜索結果中浮現了,所以我想我會分享一些知識。
如果您處于經典模式-啟用Windows和Forms身份驗證。您會收到有關無法一次執行兩項操作的警告,但可以忽略它。然后,您可以繞過各種屬性,例如Code:
HttpContext.Current.Request.ServerVariables["LOGON_USER"]
并從那里釣魚用戶名。
如果處于集成模式下- 無法同時使用基于4021905 IIS7質詢和基于登錄重定向的身份驗證,則將導致IIS 7.0兩級身份驗證以及表單身份驗證和Windows身份驗證,這是一個模塊,可讓您有選擇地更改身份驗證不同的頁面。

TA貢獻1874條經驗 獲得超12個贊
(更多信息的確是完整的)
不久前,我在一個會議上問了一個.Net安全人員這個問題。他的回答是,從技術上講這是可能的,但是他從未見過這樣做(并讓他知道我是否這樣做了?。?/p>
他建議可以通過創建自己的ISAPI篩選器并將其安裝到IIS中來實現。ISAPI篩選器將攔截請求,并基本上完成IIS在使用集成身份驗證時所做的工作,但如果不存在表單,則退回使用表單。這涉及過濾器中一些復雜的質詢/響應邏輯。但是,這是針對IIS6的,因此在IIS7中可能有所不同。
盡管從技術上講這可能是可行的,但我不建議您采用這種方法,因為它看起來有點像駭客,并且提高自己的安全性從來都不是一個好主意(除非您真的知道自己在做什么)。

TA貢獻1877條經驗 獲得超1個贊
有很多文章通過設置配置以允許匿名訪問該應用程序來使用表單來混合身份驗證。其次,應該使用IIS設置將集成身份驗證的頁面設置為拒絕匿名并使用集成身份驗證。在這里,您可以通過檢查記錄表的ServerVariables集合的“ Logon_User”變量來實現魔術。最后,要使集成身份驗證以靜默方式登錄用戶,它必須具有簡短的托管名稱。因此,如果您的表單身份驗證文件通過FQDN暴露給Internet,則應該進行某種重定向到短主機頁面。我認為用IIS下的一個應用程序和2個虛擬目錄就可以實現。
- 3 回答
- 0 關注
- 631 瀏覽
添加回答
舉報