思考了一下,有两种方法,
<filter>
<filter-name>NtlmHttpFilter</filter-name>
<filter-class>jcifs.http.NtlmHttpFilter</filter-class>
<init-param>
<param-name>jcifs.http.domainController</param-name>
<param-value>192.168.2.15</param-value>
</init-param>
<init-param>
<param-name>jcifs.smb.client.logonShare</param-name>
<param-value>JCIFSACL</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>NtlmHttpFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
一种是使用LDAP访问域服务器(389端口)进行用户校验
另一种方法是使用samba组织的
jcifs使用NTLM方式进行校验
第一种方法暂时不提,下面着重说一下第二种方法
----------------------------------------------------------
NTLM校验又分为两种,一种是使用共享目录的方式进行校验,如下
这种方法是通过虚拟一个名为:JCIFS***_&&_%%的用户来访问认证计算机进行认证的。其中***表示当前tomcat计算机的IP的第一位,&&表示最后一位,%%是一个序列数
----------------------------------------------------------
另一种是通过域控制器进行校验,由于手头没有域控制器,暂时无法验证这种方式的正确性
<filter>
<filter-name>NtlmHttpFilter</filter-name>
<filter-class>jcifs.http.NtlmHttpFilter</filter-class>
<init-param>
<param-name>jcifs.smb.client.domain</param-name>
<param-value>NYC-USERS</param-value>
</init-param>
<init-param>
<param-name>jcifs.netbios.wins</param-name>
<param-value>10.169.10.77,10.169.10.66</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>NtlmHttpFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
jcifs.smb.client.domain应该指的是域名,而jcifs.netbios.wins就应该是相应的Wins服务器了,一般来说这里填写域控制器的IP