2
當我使用OWIN身份驗證開箱即用時,AccountController上的Request.LogonUserIdentity始終是部署該站點的IIS用戶,而不是用戶實際上提出了要求。這是在服務器上啓用了匿名和Windows驗證。如果我關閉匿名訪問Request.LogonUserIdentity是我期望的。在同一個MVC應用程序中同時使用OWIN Cookie身份驗證和Windows身份驗證
基於數據庫設置,我想要做的是針對同一臺服務器上的第三方系統執行Windows登錄,這意味着我需要冒充發出HTTP請求的用戶,但我也需要允許匿名登錄的選項。但是,因爲該用戶始終是IIS用戶,這是行不通的。有什麼方法可以在驗證過程中訪問發出請求的實際用戶?或者我是否需要實現某種類型的處理程序來預處理原始請求?
我不知道從哪裏開始。任何幫助推動正確的方向將是非常有幫助的。
有沒有辦法做到這一點,而不使用會話?我試圖在WebAPI上實現這一點。 – Yashvit
@Yash是的!檢查出新的OWIN混合驗證https://github.com/MohammadYounes/OWIN-MixedAuth –
太好了。看起來你有更新。只是可以肯定的,如果我不使用ASP.NET身份(Identity DbContext等),這會工作嗎?用戶數據持久性由自己的BL處理,我使用Owin IAuthenticationManager來設置cookie。 – Yashvit