获取登录的用户详细信息

时间:2016-03-08 15:30:54

标签: java tomcat

我正在编写一个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上部署它并告诉我的同事使用http://mySystemIPAddress:portNumber/ProjectName在控制台中运行它时,它会打印我的系统名称而不是访问此URL的系统(目前是我的同事。以上两种方法均无效。

请告诉我如何解决此问题并获取正确的系统名称。

由于

1 个答案:

答案 0 :(得分:0)

您遇到的问题是您显示的代码作为用户在您的工作站上运行(在本例中)。然后,浏览器中的用户正在另一个工作站上运行。理论上,您需要在浏览器上使用一些JavaScript来确定谁登录到浏览器工作站。然而,quick search似乎表明这是在困难和不可能之间。

通常,对于基于Web的应用程序,您希望用户登录您的webapp。然后,您可以使用Windows域作为验证用户名/密码是否正确的方法。还有很多其他的方法可以做到这一点,但你现在的方法需要改变我害怕。