亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

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

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

精慕HU 2019-11-26 13:02:12
我有一個(ASP.NET 3.5)Intranet應用程序,該應用程序設計為使用表單身份驗證(以及默認的aspnet成員資格系統)。我還將有關用戶的其他信息存儲在另一個表中,該表與aspnet_users表共享其主鍵。對于屬于我們域的用戶,我將其域名帳戶名稱存儲在輔助用戶表中,并且我想自動登錄其域名帳戶名稱與表中存儲的名稱匹配的用戶。我已經閱讀了可用的指南-它們都是兩年前或更早的,并且假定您能夠在單獨的登錄頁面上激活Windows身份驗證,該頁面允許您提取域名帳戶名稱。但是,據我所知,這在IIS7中是不可能的(整體身份驗證方法應用于所有頁面,并且不能有選擇地停用,并且兩種身份驗證方法都不能應用于同一頁面)。有沒有一種方法可以使IIS通過請求用戶的Windows域名帳戶名稱傳遞?我不需要適當的AD身份驗證,只需域名。
查看完整描述

3 回答

?
慕田峪7331174

TA貢獻1828條經驗 獲得超13個贊

實際上,您可以做到。@dr_draik有點晚了,但這對我來說在谷歌搜索結果中浮現了,所以我想我會分享一些知識。


如果您處于經典模式-啟用Windows和Forms身份驗證。您會收到有關無法一次執行兩項操作的警告,但可以忽略它。然后,您可以繞過各種屬性,例如Code:


HttpContext.Current.Request.ServerVariables["LOGON_USER"]


并從那里釣魚用戶名。


如果處于集成模式下- 無法同時使用基于4021905 IIS7質詢和基于登錄重定向的身份驗證,則將導致IIS 7.0兩級身份驗證以及表單身份驗證和Windows身份驗證,這是一個模塊,可讓您有選擇地更改身份驗證不同的頁面。


查看完整回答
反對 回復 2019-11-26
?
HUWWW

TA貢獻1874條經驗 獲得超12個贊

(更多信息的確是完整的)


不久前,我在一個會議上問了一個.Net安全人員這個問題。他的回答是,從技術上講這是可能的,但是他從未見過這樣做(并讓他知道我是否這樣做了?。?/p>


他建議可以通過創建自己的ISAPI篩選器并將其安裝到IIS中來實現。ISAPI篩選器將攔截請求,并基本上完成IIS在使用集成身份驗證時所做的工作,但如果不存在表單,則退回使用表單。這涉及過濾器中一些復雜的質詢/響應邏輯。但是,這是針對IIS6的,因此在IIS7中可能有所不同。


盡管從技術上講這可能是可行的,但我不建議您采用這種方法,因為它看起來有點像駭客,并且提高自己的安全性從來都不是一個好主意(除非您真的知道自己在做什么)。


查看完整回答
反對 回復 2019-11-26
?
冉冉說

TA貢獻1877條經驗 獲得超1個贊

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


查看完整回答
反對 回復 2019-11-26
  • 3 回答
  • 0 關注
  • 631 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號