Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javaservlet获取登录的用户名_Java_Servlets - Fatal编程技术网

Javaservlet获取登录的用户名

Javaservlet获取登录的用户名,java,servlets,Java,Servlets,我使用tomcat在服务器中部署了servlet。它基本上有一些输入字段和保存更改按钮。当有人写东西并单击“保存”时,我想将更改与客户端的PC名和登录用户名一起保存到DB。在更新客户端的PC名称和用户名之前,一切都已完成。我可以通过InetAddress InetAddress=InetAddress.getByNamerequest.getRemoteAddr获取PC名称;字符串PCName=inetAddress.getHostName;如何获取用户名?我尝试了很多方法,比如request.

我使用tomcat在服务器中部署了servlet。它基本上有一些输入字段和保存更改按钮。当有人写东西并单击“保存”时,我想将更改与客户端的PC名和登录用户名一起保存到DB。在更新客户端的PC名称和用户名之前,一切都已完成。我可以通过InetAddress InetAddress=InetAddress.getByNamerequest.getRemoteAddr获取PC名称;字符串PCName=inetAddress.getHostName;如何获取用户名?我尝试了很多方法,比如request.getRemoteUserreturns null,request.getAuthType也返回null。如何更改身份验证类型?还尝试了System.getPropertyuser.Name返回服务器用户名,其中我需要客户端用户名


用户名是指登录PC时使用的用户名。

返回当前用户主体(如果有),其中包含用户名:如果没有当前用户,则返回null。

@SamuelJMathew他已经这样做了。他要的是工作代码。所以说得清楚一点,你说的是获取用户登录电脑时使用的用户名,对吗?或者你的web应用程序有自己的身份验证机制,你想要输入的用户名吗?@Gimby,是的,我对登录到调用我的servlet的PC的用户感兴趣。上面链接的副本详细解释了你对这些东西如何工作的误解。如果您了解您实际上在寻找SSO,那么您将发现此重复项:@Gimby,前提是您尚未阅读该问题。它是关于servlet和“客户端的登录用户名”的。servlet的客户端位于HTTP会话的另一端,我提到的方法提供了该会话的用户主体。“操作系统”这个词是你自己发明的:它们没有出现在问题中;System.out.printlPrincipalUser:+p.getName;它向我显示了java.lang.NullPointerException at request.getUserPrincipal[信息:request不是null,我验证过]@jayachandrachillpuri因此,显然,request.getUserPrincipal在我的答案和它所指的链接都仔细指定的条件下返回了null。当前没有经过身份验证的用户。你需要检查一下这种情况。调试一个简单的NPE确实不需要所有这些帮助。有关错误的详细信息:2017年1月6日下午1:09:41 org.apache.catalina.core.StandardWrapperValve调用SEVERE:Servlet.service for Servlet[GetDataSales]在path[/MISHWeb]上下文中在GetDataSales.doGetGetDataSales.java:42在javax.servlet.http.HttpServlet.serviceHttpServlet.java:620在javax.servlet.http.HttpServlet.serviceHttpServlet.java:727在org.apache.catalina.core.ApplicationFilterChain.internalDoFilterApplicationFilterChain.java:303等处引发了异常谈到windows客户端,您可以查看NTLM。