2012-08-16 81 views
1

我想在我的web應用程序中獲取用戶的Windows用戶名。任何人都可以建議如何得到它?如何獲取運行我的Web應用程序的用戶的Windows登錄用戶名?

我正在開發一個web應用程序。因此,如果用戶正在訪問我的應用程序,那麼我需要獲取用戶的Windows ID和他的主機名。我嘗試了幾種不同的方式,但它從來沒有奏效。任何建議,高度讚賞。

+1

它是一個Intranet Web應用程序還是公共?如果是內聯網,請查看Kerberos和http://msdn.microsoft.com/en-us/library/aa745042(v=bts.10).aspx – 2012-08-16 14:11:59

+0

您是否指服務器?在這種情況下你不能。您必須依賴您的服務器訪問的內容。這不是與請求一起發送的。所以你必須問用戶。如果你的意思是來自客戶端的瀏覽器,我敢肯定JavaScript不會工作,因爲瀏覽器認爲它是一個安全的事情。 – CrazyPenguin 2012-08-16 14:24:04

+0

除請求或響應或請求標題外,還有其他方法嗎? – 2012-08-16 15:42:14

回答

0

在YERY OLD(!)版本的Internet Explorer中,URL內部的模式%USER%被登錄用戶名替換。但是對於目前的瀏覽器來說,這已經不再適用了,那就是很好的方法。

隨着JAVA小,你可以通過請求它:

System.getProperty("user.name") 

但我不知道這對你的作品...

+0

否。這將返回部署我的代碼的系統的用戶名。 – 2012-08-16 14:04:52

0

Windows用戶的細節不是普通的HTTP請求發送,這使您無法從Web應用程序中的用戶獲取它們而無需其他數據。 雖然請求標題中可以從中發送請求的主機名。

如果您仍希望獲取Windows用戶詳細信息,則需要做一些工作,例如要求用戶以某種形式提供它們,或者如果您有權訪問用戶的命名/目錄服務,你可以通過他的IP /主機名找到東西。 儘管如此,您通常還是無法在Web應用程序中使用這些功能。

+0

我聽說可以通過.net。只是想知道它在JAVA中是否可行? – 2012-08-16 14:06:10

+0

不是不查詢某些信息來源。我會想象這是如何在.NET中完成的。 – Kraylog 2012-08-16 14:11:38

0

林不知道確切地得到的Windows用戶名,但HTML5 The System Information API可能會提供一些有用的信息。通過這個link一次,你可能會發現它有幫助。

相關問題