jcifs实现域用户自动登录碰到的问题和解决方案

本文详细介绍了在使用jcifs进行域用户访问时遇到的问题,包括自动登录提示输入用户名和密码,以及自动登录后出现的jcifs相关异常。通过设置IE浏览器安全设置和修改jcifs源码解决了这些问题。

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

1、首先下载jcifs-1.3.15.jar
2
、在WEB项目加入上面这个jar,并在web.xml中加入下面内容

<web-app xmlns="http://java.sun.com/xml/ns/javaee"

   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

   xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"

   version="2.5">

  <display-name>Welcome to Tomcat</display-name>

  <description>

     Welcome to Tomcat

  </description>

  <filter>

    <filter-name>NtlmHttpFilter</filter-name>

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

    <init-param>

        <param-name>jcifs.http.domainController</param-name>

        <param-value>10.28.1.212</param-value>

    </init-param>

    <init-param>

    <param-name>jcifs.util.loglevel</param-name>

    <param-value>6</param-value>

    </init-param>

  </filter>

  <filter-mapping>

    <filter-name>NtlmHttpFilter</filter-name>

    <url-pattern>/*</url-pattern>

  </filter-mapping>

</web-app>

 

第一个问题出现了,就是域用户访问会提示要求输入用户名和密码这是多郁闷的一件事啊,搞这个东东为的就是想自动登录还冒出个框来,在网上找了下大多都没提这个事,经本人摸索找到了方法:设置IE浏览器的安全-Internet-自定义级别-用户验证选择“自动使用当前用户名和密码登录”。
第二个问题又来了,自动登录后会报异常
jcifs.smb.SmbException: NTLMv2 requires extended security (jcifs.smb.client.useExtendedSecurity must be true if jcifs.smb.lmCompatibility >= 3
查了所有中文网站没见有解决方法的,最后还是在官方网站找到了一条信息,有个哥们说是jcifs存在BUG,需要将 jcifs.smb.NtlmPasswordAuthentication类中的LM_COMPATIBILITY常量的改成非STATIC,下了源码 把这个改了,重新打包,问题解决。

 

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值