小编典典

检测使用Java Web App登录到计算机上的用户

tomcat

我想开发一个Java应用程序,它可以检测Windows域上登录的用户。这些凭证将用于登录在Tomcat上运行的Java应用程序。

我怎样才能做到这一点?我想知道远程用户正在访问我的Web应用程序。该用户已在Active Directory中登录。


阅读 279

收藏
2020-06-16

共1个答案

小编典典

这是我的解决方案:

将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()获取远程用户。

再见。

2020-06-16