你可以抓用户的机器名来判断request.getRemoteHost()
解决方案 »
- javaweb项目启动出现问题
- 面试题
- 字符串转日期求助
- WEB小问题
- 有关webservice地址有效性的验证
- linux操作系统终于安装成功了,一点经验分享给大家.顺便散分
- 请教一个有关struts的问题。
- 问一个struts 的一个常见的问题?关于javax.servlet.ServletException:Cannot find ActionMappings or ActionFormBeans collection错误的
- 能不能帮我解决一下下面的问题!ORA-01000: 超出打开游标的最大数
- struts Action类无法找到,急!
- 关联表的查询问题(使用Hibernate DAO的findByExample()方法)
- 基于xmpp协议的smack实现的聊天客户端
可是我想通过抓域帐号的名称来判断,而且我发现人家用.net能实现,我想用JAVA也能实现。
Map<String, String> map = System.getenv();
String userName = map.get("USERNAME");// 获取用户名
String computerName = map.get("COMPUTERNAME");// 获取计算机名
String userDomain = map.get("USERDOMAIN");// 获取计算机域名
System.out.println(userName);
System.out.println(computerName);
System.out.println(userDomain);
http://www.java2000.net/p3928可是浏览器里面是不能运行这些东西的。没办法。比如我用Firefox.hehe!
不需要程序去获取乱七八糟的东西
if (auth == null)
{
response.setStatus(response.SC_UNAUTHORIZED);
response.setHeader("WWW-Authenticate", "NTLM");
response.flushBuffer();
return;
}
if (auth.startsWith("NTLM "))
{
byte[] msg = new sun.misc.BASE64Decoder().decodeBuffer(auth.substring(5));
int off = 0, length, offset;
if (msg[8] == 1)
{
byte z = 0;
byte[] msg1 = {(byte)'N', (byte)'T', (byte)'L', (byte)'M', (byte)'S', (byte)'S', (byte)'P',
z,(byte)2, z, z, z, z, z, z, z,(byte)40, z, z, z,
(byte)1, (byte)130, z, z,z, (byte)2, (byte)2,
(byte)2, z, z, z, z, z, z, z, z, z, z, z, z};
response.setHeader("WWW-Authenticate", "NTLM " +
new sun.misc.BASE64Encoder().encodeBuffer(msg1));
response.sendError(response.SC_UNAUTHORIZED);
return;
}
else if (msg[8] == 3)
{
off = 30; length = msg[off+17]*256 + msg[off+16];
offset = msg[off+19]*256 + msg[off+18];
String remoteHost = new String(msg, offset, length); length = msg[off+1]*256 + msg[off];
offset = msg[off+3]*256 + msg[off+2];
String domain = new String(msg, offset, length); length = msg[off+9]*256 + msg[off+8];
offset = msg[off+11]*256 + msg[off+10];
String username = new String(msg, offset, length); out.println("Username:"+username+"<BR>");
out.println("RemoteHost:"+remoteHost+"<BR>");
out.println("Domain:"+domain+"<BR>");
}
}