我希望开发一个Java应用程序,可以检测Windows域上的用户登录。这些凭证将用于登录运行在Tomcat上的Java应用程序。
我该如何做到这一点?我想知道访问我的Web应用程序的远程用户。此用户已登录Active Directory。
我希望开发一个Java应用程序,可以检测Windows域上的用户登录。这些凭证将用于登录运行在Tomcat上的Java应用程序。
我该如何做到这一点?我想知道访问我的Web应用程序的远程用户。此用户已登录Active Directory。
<filter>
<filter-name>NtlmHttpFilter</filter-name>
<filter-class>jcifs.http.NtlmHttpFilter</filter-class>
<init-param>
<param-name>jcifs.http.domainController</param-name>
<param-value>xx.xx.xx.xxx</param-value> --> Domain Controller IP
</init-param>
<init-param>
<param-name>jcifs.util.loglevel</param-name>
<param-value>2</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>NtlmHttpFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
同时,您可以使用request.getRemoteUser()获取远程用户信息,无需提示。
再见。
通常情况下,您可以使用Java身份验证和授权服务来连接本地授权服务。这可能是您想要的。
话虽如此,您确定这是正确的方法吗?您想要实现什么?您是否正在寻找Web应用程序的单点登录解决方案?
那么这个: 如何配置Tomcat以使用Windows NTLM身份验证? 可能是您要寻找的,正如Steve Read在上面的评论中提出的那样。
我记得几年前我使用mod_ntlm为Apache解决了这个问题,但是自那以后可能发生了一些变化。