我有一個使用Windows身份驗證,在Web.config像這樣一個ASP.NET MVC 4項目:爲什麼ServiceSecurityContext.Current在MVC控制器中爲null?
<system.web>
<authentication mode="Windows" />
</system.web>
但是,如果我調查ServiceSecurityContext.Current
從控制器的方法,它爲空。因爲我使用Windows身份驗證,它不應該包含用戶的身份驗證信息嗎?
我試圖弄清楚這個問題的原因是因爲我想知道CredentialCache.DefaultNetworkCredentials
從Controller方法中使用的憑據。從我通過閱讀MSDN article on the property得到的信息,它使用當前安全上下文的憑證...,它是空的。
感謝您的幫助!
太棒了,謝謝!我希望MSDN文章指向User.Identity.Name然後 - 所有它提到我看到的是「當前的安全上下文」,這就是爲什麼我堅持這一點。 – JoeCool
你確定它等於User.Identity.Name而不是WindowsIdentity.GetCurrent()。Name?我注意到,只有WindowsIdentity.GetCurrent()。名稱在使用ASP.NET模擬時發生更改。 User.Identity.Name始終等於客戶端的用戶名 – JoeCool