zoukankan      html  css  js  c++  java
  • Java 集成域登陆

    参考: 

    1. JAVA中使用jcifs集成AD域用户认证

    2. https://liaosy.iteye.com/blog/1887092

    3.其他库 https://github.com/Waffle/waffle

    4. https://blog.csdn.net/iteye_18086/article/details/82072793

    5. https://answer-id.com/52373554

    6.https://sourceforge.net/projects/ntlmv2auth/

     实战开始

    1.根据参考1中的jar包,下载后放入lib,

        a. 加入buildpath

    b 加入 deployment assembly

    2. 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>10.122.74.146</param-value>
            </init-param>
            <init-param>
                <param-name>jcifs.smb.client.domain</param-name>
                <param-value>csvw.com</param-value>
            </init-param>
    
            <init-param>
                <param-name>jcifs.smb.lmCompatibility</param-name>
                <param-value>0</param-value>
            </init-param>
            <init-param>
                <param-name>jcifs.smb.client.useExtenededSecurity</param-name>
                <param-value>false</param-value>
            </init-param>
            <init-param>
                <param-name>jcifs.smb.client.soTimeout</param-name>
                <param-value>35000</param-value>
            </init-param>
        </filter>
        <filter-mapping>
            <filter-name>NtlmHttpFilter</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>

    3 如果你的开发机不是win7  请跳过这一步。因为我的虚机是win7 ,因此需要改下。

        JCIFS的HttpFilter并不支持NTLM2协议,而当客户端是WIN7系统时,默认采用的是NTLM2协议。

      如果已经使用JCIFS 作为解决方案, 只需要暂时解决Win7 等系统的问题的话。如何临时解决以上问题。

      解决方法是增加或修改注册表的以下信息:

      HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlLsa中新建一个dword值LMCompatibilityLevel,值为0,即可解决.

         参考: https://blog.csdn.net/oscar999/article/details/21372227?locationNum=8
     

    .

     改这个地方和用下面的方式改是一样的,更直观

    在win7机器上运行gpedit.msc,打开组策略,将“计算机配置->windows设置->安全设置->本地策略->安全选项”中的“网络安全:LAN Manager身份验证级别”改为“发送 LM & NTLM 响应”或者“发送 LM & NTLM - 如果已协商,使用 NTLMv2 会话安全”就可以了;如果是home版vista,不能运行gpedit.msc,也可以修改注册表:HKLMSYSTEMCurrentControlSetControlLsa的键值lmcompatibilitylevel为0或者1就可以了。

    4.运行起来看看,跳出来了(因为我测试机不是域登陆,所以会跳出来,如果你是域登陆的机器,应该就不会跳出来了,会直接进去):

      

    5.  在登陆页面的方法里加上代码,打印出来了,成功!

  • 相关阅读:
    vmware ubuntu 异常关机无法连接到网络
    Speed up GCC link
    常用的一些解压命令
    Log4j 漏洞复现
    Test Case Design method Boundary value analysis and Equivalence partitioning
    CCA (Citrix Certified Administrator) exam of “Implementing Citrix XenDesktop 4”
    What is Key Word driven Testing?
    SAP AGS面试小结
    腾讯2013终端实习生一面
    指针的引用
  • 原文地址:https://www.cnblogs.com/lhuser/p/10831124.html
Copyright © 2011-2022 走看看