如何以windows身份验证登录web系统

来源:互联网 发布:锦绣中国源码 编辑:程序博客网 时间:2024/06/05 09:48

1。首先从http://jcifs.samba.org 这个站点下载 jcifs-1.3.2.jar包。

2。把这个包放到相应的lib文件下面。

3。对web.xml文件进行配置,添加如下内容

<filter>

    <filter-name>NtlmHttpFilter</filter-name>
    <filter-class>jcifs.http.NtlmHttpFilter</filter-class>

    <!--jcifs.http.domainController 这个参数指定了DNS服务器的地址-->
    <init-param>
        <param-name>jcifs.http.domainController</param-name>
        <param-value>192.168.1.206</param-value>
    </init-param>
   
    <!--jcifs.netbios.wins 这个参数也指定了DNS服务器的地址
     The WINS server 192.168.1.206 will be queried domain controller.
     If that WINS server is not responding, 192.168.1.207 will be queried.-->
    <!--
    <init-param> 
     <param-name>jcifs.netbios.wins</param-name> 
     <param-value>192.168.1.206,192.168.1.207</param-value> 
    </init-param>     -->
   
    <!--jcifs.smb.client.domain 这个参数指定了DNS服务器上面的域名-->
    <init-param>
        <param-name>jcifs.smb.client.domain</param-name>
        <param-value>DLHT</param-value>
    </init-param>

    <!--jcifs.util.loglevel
     0: Nothing
     1: Critical [default]
     2: Basic info. (Can be logged under load)
     3: Detailed info. (Highest recommended level for production use)
     4: Individual smb messages
     6: Hex dumps
    -->
    <init-param>
     <param-name>jcifs.util.loglevel</param-name>
     <param-value>0</param-value>
    </init-param>
   
    <!--下面这两个参数是针对windows 2003服务器来设定.
     这里的用户名必须是DNS服务器上面的用户名和密码
     you provide init-parameters for the jcifs.smb.client.{domain,username,password}
     properties to perform "preauthentication" for each transport to a domain contoller
     so that a proper SMB signing key can be generated.
    -->
    <init-param>
        <param-name>jcifs.smb.client.username</param-name>
        <param-value>xxxx</param-value>
    </init-param>
    <init-param>
        <param-name>jcifs.smb.client.password</param-name>
        <param-value>c!23456</param-value>
    </init-param>
  </filter>

  <filter-mapping>
    <filter-name>NtlmHttpFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

4。要对你的DNS服务器添加NetBIOS协议。

5。对你的IE进行设置,自动使用当前用户名和密码登录。

6。用request.getRemoteUser();来获取当前登录的用户名。

通过对上面的配置以后,你就可以用当前配置 域中的用户进行登录了。

login.jsp  登录页面

<%@ page contentType="text/html;charset=gbk" %>

<%
 //String userId = request.getParameter("userId");
 String userId = request.getRemoteUser();
 userId = userId.substring(userId.indexOf("//") + 1);

 //passwordFlg 为单点登录标志 0为单点登录,1为正常登录
        String str = "/ClientEnter?ClientEnter=" + userId + "&passwordFlg=0";
        response.sendRedirect(str);
%>

原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 嘴巴周围肤色暗沉怎么办 中奖彩票被洗了怎么办 牙龈下面长米粒肉疙瘩怎么办 书画印章盖反了怎么办 金龙鱼一个月不吃东西怎么办 罗汉鱼头撞扁了怎么办 房顶开槽埋线白色不一样怎么办 顶上灯挪位置线怎么办 马蜂窝弄掉又来怎么办 蜂窝弄掉又有怎么办 2018年小龙虾底板脏怎么办 一本分数线擦边过怎么办 玩具塑料球扁了怎么办 胶皮与海绵开了怎么办 安卓不支持flash了怎么办 看视频要加载flash怎么办 下水道管子铁皮破了怎么办 炸金花牌一样大怎么办 玩棋牌游戏输了怎么办 苹果7插耳机外放怎么办 出国种菠菜抓了怎么办 在菲做菠菜抓到怎么办 3串1中两个怎么办 微博账号封停怎么办 阴阳师账号被永久封停怎么办 寒刃2账号被禁用怎么办 输了好多钱我该怎么办 亲朋打鱼别处在玩怎么办 做糯米蛋的蛋清怎么办 水田地没耙地平怎么办 宝宝拉鸡蛋花样大便怎么办 电子琴伴奏区无旋律音怎么办 手机触摸屏摔坏了怎么办 手机充着电玩游戏卡怎么办? 4个月宝宝拉肚子怎么办 6个月宝宝上火怎么办 1月婴儿大便干燥怎么办 椰子鞋350线开了怎么办 打完篮球小腿肌肉酸痛怎么办 衣服穿少了感冒怎么办 侧手翻翻不过去怎么办