2014-02-07 79 views
0

你好我有在服務器上運行的應用程序。在應用程序中,我使用Windows身份驗證,但由於未知的原因,它始終返回服務器登錄,而不是用戶。正在閱讀用戶系統名稱

如:

<ul class="nav navbar-nav navbar-right"> 
     <li class="navbar-text">Hello, @Environment.UserName!</li> 
</ul> 

這將顯示:你好szpicus但它返回:你好,系統(網頁服務器與NT上運行/系統權限)

如何修改代碼來識別用戶?

回答

1

我想你可能會找這樣的:

//on the local machine use this 
string domainName = System.Security.Principal.WindowsIdentity.GetCurrent().Name; 

//on the publishing server use this 
string domainName = System.Web.HttpContext.Current.User.Identity.Name 
string name = domainName.Substring(domainName.LastIndexOf("\\") + 1); 
+0

它看起來很有前途,但它返回登錄與域。有沒有辦法得到它或只是實現代碼來切割域? – szpic

+0

我不知道任何方法/財產返回身份沒有域(這並不意味着它不存在)。刪除域是相當微不足道的。我會更新答案。 –

+0

好吧我只需要稍微修改代碼,因爲它返回\\ szpicus而不是隻是szpicus,但謝謝! – szpic