精华内容
下载资源
问答
  • Java实现AD域登录认证

    万次阅读 多人点赞 2016-08-04 09:05:02
    web项目中有时候客户要求我们使用ad域进行身份确认,不再另外做一套用户管理系统。其实客户就是只要一套账号可以访问所有的OA,CRM等办公系统。 这就是第三方验证。一般有AD域,Ldap,Radius,邮件服务器等。最常用的...

    最近公司派遣去乙方公司做项目开发,之前做好了的登录模块,按理来说是可以完全复用的,但是乙方客户提出要求,要用AD域登录认证的方式进行登录我们开发的Java Web系统,于是上网搜集了相关的资料,并运用到系统中。
    以下为分享的资料:
    【注意】jdk1.3版本以上

    package com.app;
    
    import java.util.Hashtable;
    
    import javax.naming.AuthenticationException;
    import javax.naming.Context;
    import javax.naming.directory.DirContext;
    import javax.naming.directory.InitialDirContext;
    
    public class AdLogin {
        public static void main(String[] args) {
            String userName = "username";//AD域认证,用户的登录UserName
            String password = "";//AD域认证,用户的登录PassWord
            String host = "xxx.xxx.xxx.xxx";//AD域IP,必须填写正确
            String domain = "@xxx.xx";//域名后缀,例.@noker.cn.com
            String port = "389"; //端口,一般默认389
            String url = new String("ldap://" + host + ":" + port);//固定写法
            String user = userName.indexOf(domain) > 0 ? userName : userName
                    + domain;//网上有别的方法,但是在我这儿都不好使,建议这么使用
            Hashtable env = new Hashtable();//实例化一个Env
            DirContext ctx = null;
            env.put(Context.SECURITY_AUTHENTICATION, "simple");//LDAP访问安全级别(none,simple,strong),一种模式,这么写就行
            env.put(Context.SECURITY_PRINCIPAL, user); //用户名
            env.put(Context.SECURITY_CREDENTIALS, password);//密码
            env.put(Context.INITIAL_CONTEXT_FACTORY,
                    "com.sun.jndi.ldap.LdapCtxFactory");// LDAP工厂类
            env.put(Context.PROVIDER_URL, url);//Url
            try {
                ctx = new InitialDirContext(env);// 初始化上下文
                System.out.println("身份验证成功!");
            } catch (AuthenticationException e) {
                System.out.println("身份验证失败!");
                e.printStackTrace();
            } catch (javax.naming.CommunicationException e) {
                System.out.println("AD域连接失败!");
                e.printStackTrace();
            } catch (Exception e) {
                System.out.println("身份验证未知异常!");
                e.printStackTrace();
            } finally{
                if(null!=ctx){
                    try {
                        ctx.close();
                        ctx=null;
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            }
        }
    }
    

    项目推荐

    20200505114017577.png
    JDK-1.8-green.svg Spring Boot-2.2.4.RELEASE-blue.svg Spring Cloud-Hoxton.SR1-blue.svg iot-dc3.svg
    DC3是基于Spring Cloud的开源可分布式物联网(IOT)平台,用于快速开发、部署物联设备接入项目,是一整套物联系统解决方案。

    展开全文
  • 普元EOS7.5实现AD域登录

    千次阅读 2017-08-10 09:22:18
    那么业务系统怎么实现AD域登录了,也就是用户在PC机上使用帐号和密码登录了windows系统,打开业务系统的时候不用再次输入帐号和密码就可以访问系统了, 注意:前提条件是业务系统已存在用户的登录信息 附件是关键...

    如果需要看代码以及详细的文档,请直接打开原文件链接

    AD域登录开发及配置:

    1.    修改相关代码:

    修改cofame源码下的coframe/auth/login/redirect.jsp

     

    主要加了以下代码,可以对比原始文件:

    IUserObjectuserObject =null;

       String userid =null;

       Object sessionUserObject =session.getAttribute("userObject");

       if(sessionUserObject!=null){

           userObject = (com.eos.data.datacontext.UserObject)sessionUserObject;

           userid = userObject.getUserId();

       }

       if(null==userid || userid.length()<=0 ||userid.equals("obtscustomer")){

           String adsso =BusinessDictUtil.getDictName("BUSINESS_CONFIG","adsso");

           if(adsso!=null&&adsso.equals("Y")){

              AppClient ac = newAppClient(request,response);

               String userId = ac.Login();

               if(userId!=null && userId.length()>0){

                userObject = (UserObject)PartyManagerServiceLoader.getCurrentPartyUserInitService().initUserObject(userId,ISystemConstants.DEFAULT_TENANT_ID);

                  DataContextManager.current().setMapContextFactory(newcom.primeton.ext.access.http.HttpMapContextFactory(request, response));

                  OnlineUserManager.login(userObject);

                  session.setAttribute(IUserObject.KEY_IN_CONTEXT,userObject);

                  IMUODataContext muo =MUODataContextHelper.create(session);

                 DataContextManager.current().setMUODataContext(muo);

               }

           }

    }

     

     

    String adsso =BusinessDictUtil.getDictName("BUSINESS_CONFIG","adsso");//系统中配置了数据字典用来是否启用AD域登录

    2.    登录governor系统,在不拦截URL中加上:

    /coframe/auth/login/redirect.jsp配置,如下图:

     

    2部署的时候修改系统jar文件:

    \primeton_obts\apache-tomcat-7.0.54\webapps\default\WEB-INF\lib\net_sso_webservice.jar

    将该jar文件打开,修改里面的net_sso_webservice.jar\com\sso\common\web-config.xml文件:

    <addkey="SsoSiteHomePage"value="http://127.0.0.1:8080/default/coframe/auth/login/redirect.jsp"/>将里面的IP和端口修改为服务器(应用部署服务器)所在的IP的端口

    net_sso_webservice.jar文件在开发studio中放在WEB-INF/lib/目录下,部署也是放在WEB-INF/lib/目录下

     

     

    系统可以配置个数据字典参数,用来控制是有启用AD域登录

    3.查看系统中数据字典BUSINESS_CONFIG->adsso值设置成Y

    展开全文
  • AD域登录过程详解

    万次阅读 2016-05-13 15:21:26
    AD域登录过程详解 赵海兵 IT咨询顾问   网络及系统技术工程师、IT系统服务工程师、微软系统技术工程师、企业服务咨询顾问。 客户端查找DC过程 用户在加入域的客户端计算机上登录的...


    您现在的位置:首页 > 嘉为原创 > 系统技术 > 详情

    AD域登录过程详解

    赵海兵 IT咨询顾问
     
    网络及系统技术工程师、IT系统服务工程师、微软系统技术工程师、企业服务咨询顾问。

    1. 客户端查找DC过程
      1. 用户在加入域的客户端计算机上登录的时候,计算机会向本机的netLogon 服务发送RPC请求,请求包括域名,站点,计算机名称等信息。
      2. 本地客户端上的netlogon服务使用domainlocator服务调用DsGetDcName接口,向其传递以下列表中的参数。
     
    列表中列出的是DsGetDcName API的部分参数,对应着DNS服务器相应区域中的PDC、GC、KDC、LDAP server记录。Netlogon会调用DsGetDcName API收集所有可能会需要的信息,比如收集PDC信息是因为当找本地DC做身份验证失败时,就会需要找PDC做身份验证。收集GC信息是因为GC上存储着林中所有对象的一部分属性,比如用户邮箱地址。
     
    登录过程是需要查找Kerberos记录来找到提供Kerberos验证服务的DC进行验证。域用户登录过程中,Kerberos验证程序向KDC发送用户信息和验证服务请求后,就需要通过kerberos记录来找到Kerberos Key Distribution Center服务进行验证。
     
    除了在查找PDC的情况下,DsGetDcName都会使用site参数。如果使用site参数的时候,请求得不到DNS服务器的回应,那么DsGetDcName会使用不带site参数再次请求。举个例子,在使用DS_KDC_REQUIRED 参数并且添加了site参数的时候,如果请求得不到Dns服务器的响应,那么DsGetDcName会请求下面的DNS记录:_kdc._tcp.dc._msdcs.forestrootdomain。site通过子网进行划分,客户端通过所在的子网找到本子网的站点。

    1. 客户端上的netlogon服务收集信息并查找DNS中的SRV记录,包括上面表中提到的各个SRV记录。
    2. DNS服务器返回客户端所请求的记录列表给客户端,并且按照优先级别和权重进行排序。然后客户端使用LDAP协议连接上返回的第一个服务器的UDP389端口,请求建立一个LADP连接。当请求包发送完后,客户端等待0.1秒后如果没有收到回应,那么发送请求到下一个Domain server地址,直到接到回应或者尝试完所有地址。
    3. 当DC向客户端发送回应后,客户端检查Dc是否有其需要的相关信息。如果有,客户端开始登陆。哪个DC先响应请求,客户端就找其做身份验证。
    4. 客户端检查DC上是否有其需要的相关信息,即检查该DC是否包含该用户的身份验证信息能否为其做身份验证。例如由于复制延迟,某用户没有被复制到该DC上,该DC无法为其做身份验证,客户端就会继续找下一个DC做身份验证。
    5. 客户端缓存DC的相关信息,以便在下次登录的时候直接使用。
    1. AD域用户身份验证过程
    1. 当客户端通过上述步骤最终找到可以帮助域用户做身份验证的DC后,接下来就会进入与DC间进行验证身份的过程。
    2. 当用户按下Ctrl+Alt+Del,即SAS。Winlogon检测到这个动作,就调用GINA,显示帐号验证窗口,以便输入用户名和密码。GINA的全称为“Graphical Identification and Authentication”——图形化识别和验证。它是几个动态数据库文件,被winlogon.exe所调用,为其提供能够对用户身份进行识别和验证的函数,并将用户的帐号和密码反馈给winlogon.exe。在登录过程中,“欢迎屏幕”和“登录对话框”就是GINA显示的。
    3. 用户输入域名、账号和密码,确定后,GINA把信息发送给LSA进行验证。LSA的全称为“Local Security Authority”——本地安全授权,Windows系统中一个相当重要的服务,所有安全认证相关的处理都要通过这个服务。
    4. LSA将请求发送给Kerberos验证程序包。通过散列算法,根据用户信息生成一个密钥,并将密钥存储在证书缓存区域中。
    5. Kerberos验证程序向KDC(Key Distribution Center)发送一个包含用户身份信息和验证预处理数据的验证服务请求(KRB_AS_REQ),其中包含用户证书和散列算法加密的标记。
     
    KDC(Kerberos Key Distribution Center——Kerberos密钥发布中心)服务主要同Kerberos认证协议协同使用,用于在整个活动目录范围内对用户的登录进行验证。如果你确保整个域中没有Windows NT计算机,可以只使用Kerberos协议,以确保最大的安全性。该服务要在Active Directory服务启动后才能启用。

    1. KDC接收到数据后,利用自己的密钥对请求中的标记进行解密,通过解密的标记是否正确,就可以判断用户是否有效。
    2. 如果用户有效,KDC将向用户发送一个TGT(Ticket Granting Ticket)响应用户请求(KRB_AS_REP)。该TGT将用户的密钥进行解密,其中包含会话密钥,该会话密钥指向的用户名称,该票据的最大生命期及其他一些可能需要的数据和设置等。在TGT的授权数据部分包含户帐号的SID以及该用户所属的全局组和通用组的SID。
    3. LSA向域控制器上的KDC的票据验证服务请求服务票据(KRB_TGS_REQ),其中包含要登陆的机器名,域名,用户的TGT及会话密钥。
    4. KDC返回会话密钥和会话票据给LAS(KRB_TGS_REP)。
    5. LSA收到票据信息后,对其进行解密,然后查询本地SAM数据库(local Security Account Manager database),看该用户是否隶属于本地某个安全组及其它用户权限,并将其组SID加到从票据数据中得到的列表。
    6. 系统通过这个列表生成访问令牌(access token),并为改用户创建桌面对象,系统一些列子进程也将继承这个安全访问令牌。用户的身份验证信息也将会缓存到本地。
    1. 总结
    以上是AD域用户在登录域的时候,客户端如何找到域控制器,以及找到之后,与KDC之间进行身份验证的过程。然后事实上,第二部分介绍的使用kerberos协议进行验证身份的过程只是一个大概的过程,具体的要比这复杂的多,可以参考此链接的内容:http://blog.csdn.net/chlaws/article/details/8480304

    展开全文
  • Java AD域登录实现正常本地登录操作

    千次阅读 2019-06-11 11:37:35
    Java 域登录 实现前言新建一个测试类,见下图AD域的userName和passWord身份验证成功之后返回身份验证失败之后返回验证成功后将之代入项目登录的位置,根据自己的登录接口和登陆逻辑来修改,我这里是SysLoginService ...

    前言

    因为最近公司需要项目进行域账号的登录,查找了许多资料,都是零零散散的,所以在这里整理一下步骤,希望帮到大家

    新建一个测试类

    package com.numberone.web.controller.common;
    
    
    import javax.naming.AuthenticationException;
    import javax.naming.Context;
    import javax.naming.directory.DirContext;
    import javax.naming.directory.InitialDirContext;
    import java.util.Hashtable;
    
    /**
     * Created by kelvan.cai on 2019/6/10 0010.
     */
    public class AdLogin {
        public static void main(String[] args) {
            String userName = "123@qq.com";//AD域认证,用户的登录UserName
            String password = "123";//AD域认证,用户的登录PassWord
            String host = "*.*.*.*";//AD域IP,必须填写正确 *号改为自己的IP
            String domain = "@qq.com";//域名后缀,例.@noker.cn.com 对应userName@
            String port = "389"; //端口,一般默认389
            String url = new String("ldap://" + host + ":" + port);//固定写法
            String user = userName.indexOf(domain) > 0 ? userName : userName
                    + domain;//网上有别的方法,但是在我这儿都不好使,建议这么使用
            Hashtable env = new Hashtable();//实例化一个Env
            DirContext ctx = null;
            env.put(Context.SECURITY_AUTHENTICATION, "simple");//LDAP访问安全级别(none,simple,strong),一种模式,这么写就行
            env.put(Context.SECURITY_PRINCIPAL, user); //用户名
            env.put(Context.SECURITY_CREDENTIALS, password);//密码
            env.put(Context.INITIAL_CONTEXT_FACTORY,
                    "com.sun.jndi.ldap.LdapCtxFactory");// LDAP工厂类
            env.put(Context.PROVIDER_URL, url);//Url
            try {
                ctx = new InitialDirContext(env);// 初始化上下文
                System.out.println("身份验证成功!");
            } catch (AuthenticationException e) {
                System.out.println("身份验证失败!");
                e.printStackTrace();
            } catch (javax.naming.CommunicationException e) {
                System.out.println("AD域连接失败!");
                e.printStackTrace();
            } catch (Exception e) {
                System.out.println("身份验证未知异常!");
                e.printStackTrace();
            } finally{
                if(null!=ctx){
                    try {
                        ctx.close();
                        ctx=null;
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            }
        }
    
    }
    

    AD域的userName和passWord身份验证成功之后返回

    Connected to the target VM, address: '127.0.0.1:62276', transport: 'socket'
    Disconnected from the target VM, address: '127.0.0.1:62276', transport: 'socket'
    身份验证成功!
    
    Process finished with exit code 0
    

    身份验证失败之后返回

    Connected to the target VM, address: '127.0.0.1:62380', transport: 'socket'
    身份验证失败!
    Disconnected from the target VM, address: '127.0.0.1:62380', transport: 'socket'
    javax.naming.AuthenticationException: [LDAP: error code 49 - 80090308: LdapErr: DSID-0C0903A9, comment: AcceptSecurityContext error, data 52e, v1db1 ]
    	at com.sun.jndi.ldap.LdapCtx.mapErrorCode(LdapCtx.java:3154)
    	at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:3100)
    	at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2886)
    	at com.sun.jndi.ldap.LdapCtx.connect(LdapCtx.java:2800)
    	at com.sun.jndi.ldap.LdapCtx.<init>(LdapCtx.java:319)
    	at com.sun.jndi.ldap.LdapCtxFactory.getUsingURL(LdapCtxFactory.java:192)
    	at com.sun.jndi.ldap.LdapCtxFactory.getUsingURLs(LdapCtxFactory.java:210)
    	at com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxInstance(LdapCtxFactory.java:153)
    	at com.sun.jndi.ldap.LdapCtxFactory.getInitialContext(LdapCtxFactory.java:83)
    	at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:684)
    	at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:313)
    	at javax.naming.InitialContext.init(InitialContext.java:244)
    	at javax.naming.InitialContext.<init>(InitialContext.java:216)
    	at javax.naming.directory.InitialDirContext.<init>(InitialDirContext.java:101)
    	at com.numberone.web.controller.common.AdLogin.main(AdLogin.java:32)
    
    Process finished with exit code 0
    
    验证成功后将之代入项目登录的位置,根据自己的登录接口和登陆逻辑来修改,我这里是SysLoginService

    ####### 另外说明一下域账号验证成功后需要保存用户名才能进行正常的登录操作,否则登录有验证用户功能的话会报无法找到用户,导致无法正常登录,看下面正常的代码代入域登录

    /**
     * 登录校验方法
     * 
     * @author kelvan.cai
     */
    @Component
    public class SysLoginService
    {
        @Autowired
        private ISysUserService userService;
    
        /**
         * 登录
         */
        public SysUser login(String username, String password)
        {
            // 验证码校验
            if (!StringUtils.isEmpty(ServletUtils.getRequest().getAttribute(ShiroConstants.CURRENT_CAPTCHA)))
            {
                AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.jcaptcha.error")));
                throw new CaptchaException();
            }
             String userName = username;//AD域认证,用户的登录UserName
            String passWord = password;//AD域认证,用户的登录PassWord
            String host = "*.*.*.*";//AD域IP,必须填写正确 *号改为自己的IP
            String domain = "@qq.com";//域名后缀,例.@noker.cn.com 对应userName@
            String port = "389"; //端口,一般默认389
            String url = new String("ldap://" + host + ":" + port);//固定写法
            String user2 = userName.indexOf(domain) > 0 ? userName : userName
                    + domain;//网上有别的方法,但是在我这儿都不好使,建议这么使用
            Hashtable env = new Hashtable();//实例化一个Env
            DirContext ctx = null;
            env.put(Context.SECURITY_AUTHENTICATION, "simple");//LDAP访问安全级别(none,simple,strong),一种模式,这么写就行
            env.put(Context.SECURITY_PRINCIPAL, user2); //用户名
            env.put(Context.SECURITY_CREDENTIALS, passWord);//密码
            env.put(Context.INITIAL_CONTEXT_FACTORY,
                    "com.sun.jndi.ldap.LdapCtxFactory");// LDAP工厂类
            env.put(Context.PROVIDER_URL, url);//Url
            boolean flag=false;
            try {
                ctx = new InitialDirContext(env);// 初始化上下文
                System.out.println("身份验证成功!");
                flag=true;
            } catch (AuthenticationException e) {
                System.out.println("身份验证失败!");
                AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, MessageUtils.message("user.password.not.match")));
                e.printStackTrace();
    
            } catch (javax.naming.CommunicationException e) {
                System.out.println("AD域连接失败!");
                e.printStackTrace();
            } catch (Exception e) {
                System.out.println("身份验证未知异常!");
                e.printStackTrace();
            } finally{
                if(null!=ctx){
                    try {
                        ctx.close();
                        ctx=null;
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                }
            }
            if(flag){
                //验证成功
                System.out.println("域登录验证成功!");
                //域登录验证成功之后获取用户名保存进数据库
                SysUser userAD = new SysUser();
                userAD.setLoginName(userName);
                userAD.setUserName(userName);
                if(userService.selectUserByLoginName(userName) == null){
                    userService.insertUser(userAD);
                }else{
                    System.out.println("用户已存在!");
                }
            }else{
                //验证失败
                System.out.println("域登录验证失败!");
            }
    

    #####到这里就可以将代码跑起来,然后用AD域账号来登录啦!
    ##欢迎大家加我QQ交流 360056605

    展开全文
  • JAVA版本AD域登录验证

    千次阅读 2018-04-23 15:05:19
    //AD域认证,用户的登录UserName  String password = "Ab123456";//AD域认证,用户的登录PassWord  String host = "10.88.250.7";//AD域IP,必须填写正确  String domain = "@qsyri.csr.com";//域名后缀,例.@...
  • iTop —— 集成 AD 域登录

    千次阅读 2018-07-10 16:23:11
    登录iTop,找到管理工具中的配置文件编辑器,在大约213行,找到authent-ldap并作相应修改。 'authent-ldap' =&gt; array ( 'host' =&gt; '服务器IP', 'port' =&gt; 389, 'default_user' =&gt;...
  • 还需要登录脚本吗? 虽然现在可以很方便地用组策略来实现网络共享映射,但有些时候VBS脚本仍然有它的用武之地,例如: 映射用户主目录(可以通过用户属性设置用户主目录,但个人感觉通过脚本更加方便); 个性...
  • 深入理解AD域登录过程

    千次阅读 2011-01-17 17:13:00
    帐号登录”属于“交互式登录”(即用户通过相应的用户帐号(User Account)和密码进行登录)的一种(另外一种为“本地登录”)。采用用户帐号登录计算机,系统通过存储在控制器的活动目录中的数据进行验证。...
  • 深入理解AD域登录过程 2009-11-20 18:32 “域帐号登录”属于“交互式登录”(即用户通过相应的用户帐号(User Account)和密码进行登录)的一种(另外一种为“本地登录”)。采用域用户帐号登录计算机,系统通过存储...
  • AD域、Windows AD域管理功能大全

    万次阅读 多人点赞 2018-07-30 13:33:03
    Windows AD域管理功能大全,再也不用东拼西凑了! 功能一、AD域管理 1、AD域管理 通过批量创建和编辑用户帐户,指派管理权限等,简化Windows AD域的管理。 2、批量管理域用户 使用CSV文件批量导入用户、编辑...
  • 1.直接调用代码: @PostMapping(value = "/loginCheck") @ResponseBody public void loginCheck() { String userName = ...//AD域认证,用户的登录UserName String password = "password";//AD域认证,用...
  • AD域 证书登录 no subject alternative names matching IP addressJDK 加入证书JAVA AD域登录代码报错内容解决方案一、将运行环境换成jdk7二、修改jvm配置idea环境tomcat环境 JDK 加入证书 将service.cer 证书加入...
  • 最近想要实现组织账户同步以及账户登录的功能,组织账户信息存放在ldap服务器中,要同步到本地数据库。对数据进行登录验证。 talk is cheap,show me the code. 首先验证账户是否可以登录: private final ...
  • 用户登录AD域集成

    千次阅读 2019-10-18 09:46:33
    1.关于AD域的介绍 AD的全称是Active Directory:活动目录域(Domain): 1)域是Windows网络中独立运行的单位,域之间相互访问则需要建立信任关系(即Trust Relation)。信任关系是连接在域与域之间的桥梁。当一个域与...
  • Windows AD域功能介绍、Windows AD域方案介绍 功能一、AD域管理 https://www.manageengine.cn/products/ad-manager/ 1、AD域管理 通过批量创建和编辑用户帐户,指派管理权限等,简化Windows AD域的管理。 2、...
  • AD 账号登录

    2016-08-28 22:20:00
    服务数据读写,有俩种模式 1、轻量级的数据读取 _domain是服务器的域名 获取连接PrincipalContext pc = new PrincipalContext(ContextType.Domain, _domain) 验证账号密码pc.ValidateCredentials(jobNumber, ...
  • AD域

    千次阅读 2016-05-30 11:46:18
    二、AD域模式的优缺点  可 实现集中式管理。以前设置无数客户端需要重复很多次,现在只要在域控制器上做一次设置就可以了。这不仅可以减少管理员的工作量,还可以维护企业网路的开支,降低总体成本。   域...
  • 1.安装配置了虚拟机、AD域AD域证书服务,并将域提升为控制器; 2.简单介绍下AD DS的用户和计算机、ADSI编辑器;
  • 单点登录、域用户、常规登录AD域

    万次阅读 2018-11-09 13:53:14
    用户只需要登录一次就可以访问所有相互信任的应用系统。(Single Sign On,简称为 SSO) (2)解决啥问题? 各个server拿到同一个ID,都能有办法检验出ID的有效性、并且能得到ID对应的用户信息。 (3)咋实...
  • 关于AD域的介绍

    万次阅读 多人点赞 2019-05-07 16:14:57
    第一次写博客,记录一下如何搭建自己的域服务器,以及其中遇到的一些问题,感谢“我的bug我做主”的文章《C#实现AD域验证登录(一)》,为防止原文被作者删除,手动将原文复制下来,如有侵权,请及时告知。...
  • 基于AD域实现单点登录设计文档 版本说明: 服务器类型: WinServer2016 Eclipse版本: Version: Luna Service Release 2 (4.4.2) Build id: 20150219-0600 Jdk...
  • 导入AD域功能使用说明 若您的局域网中存在AD域组织结构,那么,通过AD域导入功能,您可以为AD域中未接入服务器的计算机和用户预先配置分组,当客户端接入服务器后,可自动分配到其所属分组中。 登陆AD域 登陆...
  • 原来使用AD域 通过activex 来实现获取域用户名,通过域用户名与系统的关联关系自动登录。(只能在IE上使用) 后来使用ad域windows身份验证来实现获取域用户名。(IE不自动更新,退出市场) 再使用Active Directory...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 59,311
精华内容 23,724
关键字:

ad域登录