「你有沒有做過任何.net編程?是的?好,這是一個大規模的破壞程序,修復它」。這就是我所處的情況,所以很抱歉,如果這是一個簡單的問題。c#asp.net獲取用戶名
我正在處理的程序從Web服務器上拉取文件。預計用戶已經登錄到Web服務器。我需要將登錄到服務器的當前用戶的用戶名(或者確保某人確實已登錄到服務器)。
我已經嘗試了以下,它返回一個空字符串。
user = HttpContext.Current.User.Identity.Name;
「你有沒有做過任何.net編程?是的?好,這是一個大規模的破壞程序,修復它」。這就是我所處的情況,所以很抱歉,如果這是一個簡單的問題。c#asp.net獲取用戶名
我正在處理的程序從Web服務器上拉取文件。預計用戶已經登錄到Web服務器。我需要將登錄到服務器的當前用戶的用戶名(或者確保某人確實已登錄到服務器)。
我已經嘗試了以下,它返回一個空字符串。
user = HttpContext.Current.User.Identity.Name;
請確保您在Web.Config文件中設置了Windows身份驗證。訪問用戶名前還要檢查以下內容,
HttpContext.Current.User.Identity.IsAuthenticated
Web.Config中設置如下,
<authentication mode="Windows"></authentication>
身份驗證當前設置爲表單。將其轉換爲Windows有多大危險?
+1,但不需要更改爲Windows。保持身份驗證模式爲網站的設計目的。 (如果登錄,用戶名也將填入任何其他身份驗證模式) –
是的。保持原樣。並嘗試使用以下鏈接瞭解formsauthentication http://stackoverflow.com/questions/8810496/forms-authentication-understanding-context-user-identity –
的User
對象的屬性,通常由應用程序的認證方案(表單,Windows或自定義填充),因此在開始訪問User
之前,需要確保其中之一已到位。請致電docs at MSDN。
首先檢入Web.config文件爲<authentication>
標記。 如果你沒有找到它,那麼你的應用程序可能沒有使用任何標準的認證機制。如果是這種情況,請查看login.aspx
或其他驗證代碼。在那裏您將獲得登錄的用戶數據。
我不會建議你在web.config文件中修改任何東西,而不必牢牢掌握應用程序中發生的事情。
您是否爲IIS中的Web應用程序啓用了Windows身份驗證? –
Environment.UserName返回什麼? –