<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.0.90</param-value>
 </init-param>
 </filter>
 <filter-mapping>
 <filter-name>NtlmHttpFilter</filter-name>
 <url-pattern>/*</url-pattern>
 </filter-mapping>
 192.168.0.90是你AD服务器,然后在你的登陆的代码中使用
 
request.getRemoteUser(),就可以得到当前域用户的用户名了

try {
UniAddress dc = UniAddress.getByName("192.168.0.90");
jcifs.smb.NtlmPasswordAuthentication auth = new jcifs.smb.NtlmPasswordAuthentication(
"192.168.0.90", "username", "password");
// jcifs.smb.SmbSession.getChallengeForDomain().
jcifs.smb.SmbSession.logon(dc, auth);
System.out.print("OK");


} catch (jcifs.smb.SmbAuthException e) {
String url = "domainlogin.jsp";
String msg = e.toString();
// request.setAttribute("errMsg", "密码或用户名错误");
// request.getRequestDispatcher(url).forward(request, response);
// json="{result:0}";
e.printStackTrace();


} catch (jcifs.smb.SmbException e) {
e.printStackTrace();
} catch (.UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}