簡體   English   中英

ASP.NET MVC Windows身份驗證在表單身份驗證之上

[英]ASP.NET MVC Windows authentication on top of forms authentication

我在ASP.NET MVC中開發了一個我們在內部使用的Web應用程序。 現在我們希望通過互聯網上的服務器提供它 - 當我們在現場做工作時,讓生活更輕松。

理想情況下,我只想堅持使用Windows身份驗證,以便擁有域帳戶的任何人都可以登錄。

問題是我已經在應用程序中使用表單身份驗證。

我們對該應用沒有任何密碼限制,您只需選擇要登錄的用戶,然后提交表單即可。 在服務器端它只是這樣做 -

    FormsAuthentication.SetAuthCookie(viewModel.Username, true);

這使用戶對象(user.identity.name)在所有控制器和視圖中提供用戶名。

但是......當我在IIS中啟用Windows身份驗證時,Web應用程序開始認為user.identity.name是“ourdomain \\ domainuser”。

我想要的是將表單身份驗證與Windows身份驗證結合使用,但不要以任何方式集成它們。

有沒有一種簡單的方法來實現這一目標?

ASP.NET團隊不正式支持在應用程序中使用混合模式身份驗證。 如果您在網上搜索,您會發現有關如何執行此操作的博客文章,但請注意,ASP.NET團隊不鼓勵他們。 不鼓勵這樣做的原因是,從正確的角度來看很難進行推理,並且存在針對這樣的設置的輕微攻擊,其可以允許惡意客戶端偽裝成經過身份驗證的用戶。

在集成模式下,您無法在IIS 7及更高版本中同時使用表單身份驗證和Windows身份驗證。 因此,我強烈反對這種做法。 但是,您可以使用內置的ActiveDirectoryMembershipProvider類通過表單對Windows用戶帳戶進行身份驗證,並將您的登錄信息綁定到該用戶帳戶。

暫無
暫無

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

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