检测使用Java Web应用程序登录计算机的用户

Van*_*nel 8 java tomcat active-directory

我想开发一个可以检测登录Window Domain的用户的Java应用程序.这些凭据将用于登录在Tomcat上运行的Java应用程序.

我怎样才能做到这一点?我想知道远程用户访问我的网络应用程序.此用户登录到活动目录

谢谢!

Van*_*nel 5

这是我的解决方案:

将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>
Run Code Online (Sandbox Code Playgroud)

并且您可以使用request.getRemoteUser()而不是提示来获取远程用户.

再见.

  • 不推荐使用JCIFS的此功能.请参阅NTLM HTTP身份验证页面顶部的蓝色文本以获取解释和建议的替代方案:http://jcifs.samba.org/src/docs/ntlmhttpauth.html (2认同)