我想开发一个 Java 应用程序来检测登录 Windows 域的用户。这些凭据将用于登录在 Tomcat 上运行的 Java 应用程序。
我该怎么做?我想知道访问我的网络应用程序的远程用户。此用户已在 Active Directory 中登录。
最佳答案
这是我的解决方案:
将jcifs-1.2.7.jar放在[TOMCAT_HOME]/common/lib目录下。
修改应用程序的 web.xml,将以下文本添加到 webapp 部分:
<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 - 使用 Java Web 应用程序检测登录计算机的用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/726249/