我有一个tomcat下的jsp应用,现在使用客户IE访问,服务器端如何读取客户的windows登陆名呢?我知道本机可以用
System.getProperty("user.name"), 但服务器端不行的.;
[b]问题补充:[/b]
我是在内部局域网使用,内部网有防火墙,不开telent服务,知道也没关系吧?
[b]问题补充:[/b]
客户的request请求找不到用户的windows登陆信息,http协议搞不定这个.
我在网上找了下,asp.net有控件可以实现,不知道是ocx,com还是dll...jsp如何调用客户端的windows控件我也不清楚.
因为返回的是html, 所以能解决的只能是用 javascript调用windows控件,然后发给服务器,这个有例子没?
[b]问题补充:[/b]
我们这边有人用asp实现了这个,登陆电脑后就可以自动访问asp站点了...听他说用的是一个asp控件...我想,若jsp实在没办法,我就用URL类去读他那边一个能生成windows domain帐号的url,然后解析一下流,
[b]问题补充:[/b]
脚本运行错误,哎,无语了...
可以用ActiveX得到,大概是这样子,你可以试试:
[code="javascript"]
var WshShell =new ActiveXObject("WScript.Shell");
alert(WshShell.ExpandEnvironmentStrings("%USERNAME%"));
[/code]
服务器端只能读取自己的windows信息,无法读取客户端的windows登录名,如果可以读取客户端的信息,那谁还敢访问你的网站啊
这和内部外部没有关系,你简单的想想:到了客户端,你的程序都是标准的html,你怎么读取客户的信息,唯一能接收的是客户的request请求。
javascript确实可以拿到一些信息,但是windows登录名拿不到。
javascript获取客户端网卡MAC地址和IP地址和计算机名[url]http://zhupan.iteye.com/blog/26440[/url]