java当客户端调用html或jsp页面时,是否可以选择windows登录凭据
有可能做到这一点吗?如果是的话,怎么做
当客户机调用jsp/html页面时,该页面应该能够从他的系统或active directory中检索客户机电子邮件id,并将其发送到服务器。这里我们不在jsp/html页面中提供任何登录页面。它应该从windows登录用户检索电子邮件
你可以在下面搜索框中键入要查询的问题!
有可能做到这一点吗?如果是的话,怎么做
当客户机调用jsp/html页面时,该页面应该能够从他的系统或active directory中检索客户机电子邮件id,并将其发送到服务器。这里我们不在jsp/html页面中提供任何登录页面。它应该从windows登录用户检索电子邮件
# 1 楼答案
简短回答:否
稍长一点:嗯,这要看情况而定
首先,您必须在客户端(浏览器)获取当前登录用户的用户名。要得到这个,请从Gary在评论中提供的link开始
然后,您必须与Active Directory服务器通信,通常使用LDAP。一个好的起点可以是this article
总之,所有这些都要求应用程序和客户机处于受控环境中,例如在公司网络中。从地球另一端获取某个无名氏的电子邮件地址对你没有帮助
# 2 楼答案
如果你想让windows单独登录用户名,有一种方法。而且它只适用于Internet Explorer,最新的浏览器边缘可能支持这一点。它在任何其他浏览器中都不起作用
现在,如果你想知道密码,绝对没有办法从纯JavaScript。由于安全原因,浏览器上下文将无法从正在运行的系统中访问此类详细信息。即使它有效,它也将是一个仅限Microsoft、IE/Edge的解决方案,而这不是web的目标
如果不想脱离JSP和HTML,那么最好的方法是在服务器和IIS之间设置反向代理
此设置将在IIS中保护,服务器可以访问IIS安全上下文(或标头)来验证或验证用户。但是,如果用户从非IE浏览器访问页面,我假设这确实需要一个登录页面
有关如何在Tomcat中实现这一点的链接如下: http://tomcat.apache.org/tomcat-8.0-doc/windows-auth-howto.html#Microsoft_IIS
脚注——我只是创建一个登录页面,而不是浏览所有这些内容