java web 工程如何实现 域登录,即判断当前访问用户在域中,就直接登录进去,不用用户名密码。

如题所述

AD域登陆请求会有几次信息交互过程,这个你可以查询一下NTLM的协议。
第一次服务器返回401时会弹出要求输入域名和密码的对话框,这个时候你应该从系统中自动取得域名和账号名,然后跳过第一次响应的401,将域账号传给AD服务器进行验证。直到AD服务器验证通过后,返回登录成功的结果给client端。

相关的资料你可以查一下:NTLM (NTLM v2会不同,vista和win7之后的系统)
至于代码的逻辑修改,就需要你自己完成了。

现有的java方式使用NTLMv2的,还没有支持http的。追问

这个时候你应该从系统中自动取得域名和账号名
请问怎么样获得域名和账号名

追答

request.getRemoteHost()得到登录的计算机域名,如果没有域名就得到IP
request.getRemoteAddr()得到登录计算机的IP
其实麻烦的地方不在获取域名和用户名,麻烦的地方在于你怎么去验证它的密码。因为自动登录,用户不会去输入密码,但实际上,只要用户已经在机器上登录域账号,其实默认密码已经输入正确了。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-09-06
通过客户机的IP地址来判断吧
如果客户机IP地址和客户机是同一网段直接不用登录。
第2个回答  2012-09-07
通过request.getRemoteAddr()得到登录计算机的IP,然后进行判断。
第3个回答  2012-09-06
获取域 然后在 IF 判断就行追问

如何获取域 如何获得当前账户的 id

第4个回答  2018-09-06
你好 请问你后来知道怎么判断了吗 我也遇到相同的问题 请教一下

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网