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.  在登陆页面的方法里加上代码,打印出来了,成功!

  • 相关阅读:
    Codeforces Round #370 (Div. 2)
    Codeforces Round #425 (Div. 2)
    变量调节器
    Smarty基础
    流程
    iframe 内联框架
    权限:改变权限
    权限:查找
    html 框架
    Jcrop+uploadify+php实现上传头像预览裁剪
  • 原文地址:https://www.cnblogs.com/lhuser/p/10831124.html
Copyright © 2011-2022 走看看