2011-11-22 171 views
0

我通過使用以下代碼獲取用戶名:部署asp.net應用程序

txtName.Text = Environment.UserName;

我已經在IIS中部署了代碼,在運行應用程序時,我在文本框中將 用戶名變爲「NETWORK SERVICE」,而不是記錄的用戶名。

而我正在使用FORMS身份驗證模式。 (此爲強制性的)

在此先感謝

回答

0

窗體身份驗證意味着您爲用戶的形式組織,使他們能夠進入他們的憑據(也就是他們的用戶名和密碼),並從現在開始,如果他們已經正確地輸入了他們的憑證,就知道他們是誰(通過在瀏覽器上設置身份驗證cookie,並執行其他許多操作)。

當您使用Environment.UserName時,您所做的是在當前應用程序正在運行的權限下獲取用戶的名稱。如果您在IIS6.0中查看應用程序池(AppDomain),那麼您應該驗證您的網站是否以用戶的身份運行網絡服務

所以,你必須使用:

username.Text = HttpContext.Current.User.Identity.Name;