想实现在访问某个JSP站点时使用WINNT域帐户来做身份验证。使用户在访问JSP站点时,弹出WINNT域验证对话框,
当用户输入的帐号和密码正确时,再由JSP的系统来验证用户名是否存在,如果存在就登录成功。目的是使企业内部员工都使用WINNT域帐户来登录企业内的所有WEB(JSP)系统,只要有WINNT域帐号,并且访问的这个WEB系统中有此域用户名,就可以登录。有看到过其它企业有做过这种应用,但是不知道是怎样实现的。请各位朋友给出建议,谢谢~!!

解决方案 »

  1.   

    需要用LDAP,看下面的介绍.
    http://zzhaha411.blog.163.com/blog/static/3042160220094611027723/
    http://www.sawin.cn/doc/SP/Java/TheEdge202.htm
      

  2.   

    这个WINNT域帐户再放入另一张表就可以了吧,如果登录用户既在用户表里又在WINNT域帐户表里那就是WINNT域帐户咯不知道我说得对不对
      

  3.   

    用filter过滤器,用户名,可以直接获取嘛,然后提示用户输入密码,
    进行验证就可以了。
      

  4.   


    嗯,我也是这么想的。我具体的想法是以下步骤:
    1.域验证:通过Tomcat+IIS,使访问站点时需要先通过NT域验证输入的用户名和密码在域中是否存在;
    2.WEB系统验证:域验证通过时再取出输入的用户名,看WEB系统中是否有相应的用户存在(此时不验证密码);
    3.WEB系统中存在用户则用户登录验证通过,取出此用户对应权限等等....我试着使用Tomcat+IIS,IIS里面的站点可以设定使用windows域验证。
    现在已经实现访问WEB(JSP)站点时会弹出NT域验证提示,输入正确的域用户名和密码可以访问站点的登录页。问题是,我在域验证对话框中输入的用户名没有办法获取?那么也就没有办法去获得这个用户在这个系统中对应的权限等等...
      

  5.   

    我需要实现的功能与这篇帖子类似:http://topic.csdn.net/u/20080702/21/fc3826ba-2296-41f6-8049-3d0fbe5710b8.html.
    不过这篇帖子是讲的ASP.NET的东东.兄弟们,帮忙顶一个吧!
      

  6.   

    唉!发现CSDN的学术气氛咋就越来越淡了呢。
    又只能自己个顶了。
      

  7.   

    谢谢各位!(虽然没有解决我的问题)这个问题最终的解决方案是使用的Java WEB应用集成域用户登陆的方式,使用的是samba组织的开源项目“jcifs”来解决的,开源项目的地址是:http://jcifs.samba.org/找到的资料分享如下:
    用JCIFS实现单点登录 
    1。首先从http://jcifs.samba.org 这个站点下载最新的jar包。
    2。把这个包放到相应的lib文件下面。
    3。对web.xml文件进行配置,添加如下内容
    <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.11</param-value>
    </init-param>
    </filter><filter-mapping>
    <filter-name>NtlmHttpFilter</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>注:192.168.0.11是你AD服务器
    4.然后在你的登陆的代码中使用request.getRemoteUser();来获取当前登录的用户名。
      

  8.   

    jCIFS是一个完全用Java开发的SMB客户端库。它紧密地遵循CIFS规范(是Microsoft Windows平台标准文件共享协议),支持Unicode,命令管道,批处理,线程化调用者的IO复用,加密认证,完整事务,域/工作组/主机/共享/文件枚举,NetBIOS 套接字和名称服务,smb:// URL协议处理器,一个类API的java.io.File ,RAP调用,NTLM HTTP鉴别。它广泛用于企业内部网络。 JCIFS: The Java CIFS Client Library
    http://jcifs.samba.org/ 
    很多公司都希望WEB登陆与域用户结合起来,实现单点登陆,使用jcifs.jar可以非常好实现,下载一个最新的jcifs.jar,放到WEB-INFlib下面,现在是1.27版,然后修改web.xml,加入下面:
    <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(),就可以得到当前域用户的用户名了