获取客户端Windows用户名

时间:2015-04-13 06:15:11

标签: java applet username

我可以使用applet获取当前目前所用的用户名。如果是,我如何在动态网络项目中使用applet? 我知道在I.E我们可以这样做

var objUserInfo = new ActiveXObject("WScript.network");
document.write(objUserInfo.ComputerName+"<br>"); 
document.write(objUserInfo.UserDomain+"<br>"); 
document.write(objUserInfo.UserName+"<br>");  
var uname =  objUserInfo.UserName;
alert(uname);

但我希望它使用applet,以便它可以在任何浏览器中使用。

1 个答案:

答案 0 :(得分:2)

请注意,这实际上是企图绕过浏览器安全性。 看看这个类似(但不是完全相同)问题的答案。 http://www.coderanch.com/t/243316/Applets/java/windows-NT-login-applet

  • ActiveX 无法在Chrome / Firefox中正常运行。
  • Javascript 不会(出于安全原因)允许您从操作系统获取该信息。
  • Flash 是跨浏览器,可以用于此,但很难绕过chromes沙箱。

所以我最好的建议是 java

这是一个类似的问题,回答了为什么你不能没有applet。 https://security.stackexchange.com/questions/36728/can-your-windows-or-linux-username-be-exposed-to-websites

从另一个类似问题的答案提供的链接指向java解决方案,但成功有限: http://www.rgagnon.com/javadetails/java-0441.html

但是我认为你应该从那里开始,然后在它工作时在这里发布一个解决方案;)

这里看到的问题是当applet尝试与本地资源交互时,浏览器必须允许它或阻止它。 IE中的安全设置可能会阻止,如果设置为高,Chromes沙箱可能会阻止它,如果你做错了。我不知道Firefox或Safari的问题,但我想你会在测试时找到它们......

祝你好运。