我正在ASP.NET和C#中開發一個網站。Windows身份驗證在服務器上不起作用
我當用戶訪問該網站創建的網站,所以,他的Windows客戶端的用戶名與讀出:
System.Security.Principal.WindowsIdentity.GetCurrent().Name.ToString();
,然後我查找他的用戶名在數據庫中,並創建一個用戶對象來自返回數據的所有必要數據(團隊,名稱,權限級別,角色......)。 然後我將這個對象保存在一個會話var直到用戶註銷。
這是工作就像一個魅力本地,但現在,我已經部署到服務器上,我得到defaultAppPool
爲每一位用戶。
我在做什麼錯?
在我的web.config文件中我有:
authentication mode="Windows"
我不得不承認,這是第一次,我做了部署自己,一切都進行得很順利,除了這一點。
您是否還配置了IIS以使用Windows身份驗證(並禁用匿名)? –
真的很抱歉,但這真是一個非常愚蠢的錯誤。 System.Security.Principal.WindowsIdentity.GetCurrent()。Name.ToString(); 需要爲 HttpContext.Current.User.Identity.Name; 這給了我正確的用戶名。 – Jelle