zoukankan      html  css  js  c++  java
  • jcifs windows 域账户单点登录(转)

    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 querieddomain 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 forproduction 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 thejcifs.smb.client.{domain,username,password}
        properties to perform "preauthentication" foreach transport to a domain contoller
        so that a proper SMB signing key can begenerated.
       -->
       <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();来获取当前登录的用户名。

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

    有什么地方写的不清楚,可以共同讨论。QQ:674706446

    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);
    %>

    原文出处:http://blog.csdn.net/zhpengfei0915/article/details/11965931

  • 相关阅读:
    linux常用命令
    linux简介
    vmware+CentOs 6.9的安装步骤
    Android layer type与WebView白屏-第一次加载webview很慢
    Android View框架的measure机制
    maven的facet错误解决方法
    oracle jdbc驱动发布nexus
    dubbox2.8.4编译发布到私服(nexus)
    一致性哈希 与 普通哈希对比
    1对多业务,数据库水平切分架构一次搞定 | 架构师之路
  • 原文地址:https://www.cnblogs.com/liuzhenlei/p/8514404.html
Copyright © 2011-2022 走看看