2016-03-08 130 views
0

我正在編寫一個Web應用程序,其中有一些JDBC操作要根據系統用戶名完成。目前我正在使用下面的代碼來獲取詳細信息。獲取登錄用戶的詳細信息

String userID = System.getProperty("user.name"); 

    public String getUserIDDetails() throws Exception { 
     System.out.println(userID); 
     return userID; 
    } 

而且我已經試過

String systemUserName = new com.sun.security.auth.module.NTSystem().getName(); 

但這裏的問題是,當我部署此Tomcat上,並告訴我collegue使用,http://mySystemIPAddress:portNumber/ProjectName,在控制檯中運行它,它打印我的系統名稱,而不是系統從哪裏訪問此URL(目前是我的同事的)。上述兩種方法都沒有奏效。

請讓我知道如何解決此問題並獲取正確的系統名稱。

感謝

+0

您可能需要訪問某些客戶端信息? System.getProperties()似乎是服務器信息 – AK47

+0

嗨@Alan,正好,但我不知道我該如何做到這一點:-( – user3872094

+0

http://stackoverflow.com/a/9518490/2242903 –

回答

0

你正在運行到的問題是,你正在展示的代碼是一個工作站作爲用戶(你在這種情況下)上運行。然後,瀏覽器中的用戶正在不同的工作站上運行。理論上,您需要在瀏覽器上使用一些JavaScript來確定誰登錄到瀏覽器工作站。然而,quick search似乎表明這是困難的和不可能的。

通常,對於基於Web的應用程序,您希望用戶登錄到您的Web應用程序。然後,您可以使用Windows域來驗證用戶名/密碼是否正確。還有很多其他的方法可以做到這一點,但是你恐怕目前的方法需要改變。

相關問題