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

 我来答
squallzzz
推荐于2017-11-25 · TA获得超过694个赞
知道小有建树答主
回答量:134
采纳率:0%
帮助的人:112万
展开全部
AD域登陆请求会有几次信息交互过程,这个你可以查询一下NTLM的协议。
第一次服务器返回401时会弹出要求输入域名和密码的对话框,这个时候你应该从系统中自动取得域名和账号名,然后跳过第一次响应的401,将域账号传给AD服务器进行验证。直到AD服务器验证通过后,返回登录成功的结果给client端。

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

现有的java方式使用NTLMv2的,还没有支持http的。
追问
这个时候你应该从系统中自动取得域名和账号名   
请问怎么样获得域名和账号名
追答
request.getRemoteHost()得到登录的计算机域名,如果没有域名就得到IP
request.getRemoteAddr()得到登录计算机的IP
其实麻烦的地方不在获取域名和用户名,麻烦的地方在于你怎么去验证它的密码。因为自动登录,用户不会去输入密码,但实际上,只要用户已经在机器上登录域账号,其实默认密码已经输入正确了。
flsfycy
2012-09-06 · TA获得超过729个赞
知道小有建树答主
回答量:1002
采纳率:0%
帮助的人:701万
展开全部
通过客户机的IP地址来判断吧
如果客户机IP地址和客户机是同一网段直接不用登录。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2012-09-07
展开全部
通过request.getRemoteAddr()得到登录计算机的IP,然后进行判断。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
维俊惜4634
2012-09-06 · 贡献了超过115个回答
知道答主
回答量:115
采纳率:0%
帮助的人:31.6万
展开全部
获取域 然后在 IF 判断就行
追问
如何获取域  如何获得当前账户的 id
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
A一岁是就很帅
2018-09-06
知道答主
回答量:5
采纳率:0%
帮助的人:3797
展开全部
你好 请问你后来知道怎么判断了吗 我也遇到相同的问题 请教一下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式