Java利用jcifs集成AD域用户认证】的更多相关文章

近期一段时间发现AD这东西老火了,尤其是涉及到安全这一方面的,所以AD域用户认证成了如今网络安全方面的产品必备!这里就简单的分享一下,Java通过jcifs集成AD域用户实现认证,以实现网络安全! 我们通过一个demo来看看jcifs实现SSO,SSO英文全称Single Sign On,单点登录.SSO是在多个应用系统中,用户仅仅须要登录一次就能够訪问全部相互信任的应用系统.它包含能够将这次基本的登录映射到其它应用中用于同一个用户的登录的机制.它是眼下比較流行的企业业务整合的解决方式之中的一个…
因为工作需求近期做过一个从客户AD域获取数据实现单点登录的功能,在此整理分享. 前提:用户可能有很多系统的情况下,为了方便账号的统一管理使用AD域验证登录,所以不需要我们的系统登录,就需要获取用户的AD域组织和用户信息,实现域认证和单点登录. LDAP: LDAP是轻量目录访问协议 AD域:微软基于域模式的集中化管理 1.常规的AD域登陆验证 LdapContext dc = null;             Hashtable<String, String> env = new Hasht…
随着我们的习大大上台后,国家在网络信息安全方面就有了非常明显的改变!所以如今好多做网络信息安全产品的公司和须要网络信息安全的公司都会提到用AD域server来验证,这里就简单的研究了一下! 先简单的讲讲AD域和LdAP文件夹訪问协议:AD(active directory)活动文件夹,动态的建立整个域模式网络中的对象的数据库或索引,协议为LDAP,安装了AD的server称为DC域控制器,存储整个域的对象的信息并周期性更新!当中的对象分为三大类--资源(如印表机).服务(如电子邮件).和人物(即…
正常情况下,JAVA修改AD域用户属性,只能修改一些普通属性, 如果要修改AD域用户密码和userAccountControl属性就得使用SSL连接的方式修改, SSL连接的方式需要操作以下步骤: 1.安装AD域证书服务 2.证书颁发机构中设置以web的方式获取证书 3.访问http://localhost/certsrv/下载证书文件 4.将证书导入开发电脑的C:\tmp目录下,使用keytool -import -keystore命令 (以上步骤,在上一篇文章里介绍了https://www.…
博客地址:http://www.moonxy.com 关于AD 域服务器搭建及其使用,请参阅:AD 域服务简介(一) - 基于 LDAP 的 AD 域服务器搭建及其使用 Java 获取 AD 域用户,请参阅:AD 域服务简介(二)- Java 获取 AD 域用户 一.前言 在日常的开发中,为了实现单点登录,需要对域用户进行增删改查操作,以维持最新的用户信息,确保系统的安全. 二.Java 对 AD 域用户的增删改查操作 package com.moonxy.ad; import java.uti…
---恢复内容开始--- 编辑gitlab.rb文件 sudo vi /etc/gitlab/gitlab.rb 下图是我编辑的内容示例(仅供参考): 编辑以下内容: gitlab_rails['ldap_enabled'] = true gitlab_rails['ldap_servers'] = YAML.load <<-'EOS' main: # 'main' is the GitLab 'provider ID' of this LDAP server label: 'LDAP' ho…
博客地址:http://www.moonxy.com 关于AD 域服务器搭建及其使用,请参阅:AD 域服务简介(一) - 基于 LDAP 的 AD 域服务器搭建及其使用 一.前言 先简单简单回顾上一篇博文中关于 AD 域和 LDAP目录访问协议的基本概念. AD(Active Directory)活动目录,动态的建立整个域模式网络中的对象的数据库或索引,使用的协议为 LDAP,安装了AD 的服务器称为 DC 域控制器,存储整个域的对象的信息并周期性更新,其中的对象分为三大类:资源(如印表机).服…
项目上遇到的需要在集成 操作域用户的信息的功能,第一次接触ad域,因为不了解而且网上其他介绍不明确,比较费时,这里记录下. 说明: (1). 特别注意:Java操作查询域用户信息获取到的数据和域管理员在电脑上操作查询的数据可能会存在差异(同一个意思的表示字段,两者可能不同). (2). 连接ad域有两个地址: ldap://XXXXX.com:389 和 ldap://XXXXX.com:636(SSL). (3). 端口389用于一般的连接,例如登录,查询等非密码操作,端口636安全性较高,用…
欢迎和大家交流技术相关问题: 邮箱: jiangxinnju@163.com 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://github.com/jiangxincode 知乎地址: https://www.zhihu.com/people/jiangxinnju 背景说明 作为一个团队开发,公司长期以来的实践证明,手工操作版本管理是非常不明智的,一来浪费人力,二来效率低下,三来容易犯错.那么版本管理用什么工具好呢? 在开…
前段时间工作很忙,好久没更新博客了,趁国庆休假期间,整理了两个之前积累很实用的企业集成组件,并在真正的大型项目中经受住了考验:.Net版SAP RFC适配器组件和SharePoint 2013修改AD域用户密码的WebPart.目前无法在网上找到免费的SharePoint 2013的修改域用户密码WebPart,而海外公司的老外又有这方面的强烈需求,公司的Sharepoint集成供应商没法提供Sharepoint 2013的修改密码解决方案,因此经过几天的深入专研,解决了多域环境下修改域用户密码…
GitBlit的配置文件: gitlblit安装目录下的 /data/gitblit.properties   ,用记事本或其他编译器打开即可. 集成AD域的LDAP操作步骤 打开配置文件,添加以下内容: #配置LDAP类型realm.authenticationProviders = windows #配置域名称 realm.windows.defaultDomain = test.com #ldap服务器地址 realm.ldap.server = ldap://192.168.90.220…
最近正在做单位电脑的AD域管理. 为漫游用户文件,研究配置Samba通过ad域进行认证并限制空间大小. 参考了很多资料,现总结如下: DC:windows server 2016(配置安装域控制器)略... samba:Centos 7 server 1810(指定IP,其中DNS1地址指定为DC的地址i,DNS2指定为可用的DNS服务器地址.) 域名:xyz.local dc计算机名:dc linux计算机名:file 一:前期准备 1.准备分区 因为磁盘配额只能在一块单独的分区上启用,所以笔…
由于SharePoint 2013推出不久,并非所有的企业都会升级到SharePoint 2013的,毕竟升级不是打打补丁这么简单,更多的企业还是使用Sharepoint 2010版本的,因此本人自行开发了SharePoint 2010中重置windows 活动目录(AD)域用户密码的WebPart,供有需要的免费下载,见本文附件.对于大中型的企业,特别是基于windows ad域管理的用户,如果能够在Sharepoint直接重置当前用户的windows 活动目录(AD)域用户密码,这样能够极大…
代码连接:https://github.com/raykuan/ldap-notes 使用python的ldap模块连接AD服务器,有两种方式: 非加密:con = ldap.initialize('ldap://myhost.com:389) 加密(SSL):con = ldap.initialize('ldaps://myhost.com:636) 使用非加密的ldap时,只能对AD域账号信息查询.如果要对AD域用户信息进行修改和新增操作,必须使用(SSL)加密方式连接AD,需满足如下几个条…
站点集成AD域验证 服务器机器入域 计算机右键属性-->“更改设置”-->“更改”-->填写所属域,确认后重启机器生效. 部署测试站点,localhost.ip.域名三种方式登录效果 站点部署至IIS,config配置文件<authentication mode="Windows" />,站点关闭Forms.匿名身份验证.登出需要关闭浏览器才能登出. 使用localhost方式打开直接显示如下: 使用IP方式会弹出登录窗和使用域帐号登录后效果如下图: 使用…
本文实现了samba服务被访问的时候通过windows域服务器进行用户名和密码验证;认证通过的用户可以自动分配500M的共享空间;在用户通过windows域登陆系统的时候可以自动把这块空间映射成一块硬盘.环境说明:文件服务器用的Centos5.3,域控用的Win2k3 sp2,Domain是rainbird.net.Centos5.3:Name:FilesrvIP:192.168.1.245Dns:192.168.1.241Samba:3.0.33-3.7.el5Win2k3:Name:ad1I…
最近在公司搭建AD域控制器,发现无法在计算机真正添加域用户,也就是添加的用户虽然可以在本地登录,但是无法远程登录,尝试多种方法都无法解决,而最终原因居然是虚拟机导致的服务器的SID冲突.本文记录下该问题的发生原因和解决过程. 添加域账户 在域用户里面添加一个用户,如下图: (图1) 将用户添加到“开发组”中去,然后让该用户在另外一台服务器远程登录: (图2) 无法登录,甚至使用域管理员,也无法登录,看来必须去远程服务器上增加一个域用户到本地用户组上面去: (图3) 选择Administrator…
1.首先WebApi 应用下Web.config要配置域认证服务器节点,如下 <!--LDAP地址 用于项目AD系统账号密码验证--> <!--0:关闭域认证:1:开启域认证--> <add key="EnableADCheck" value="0"/> <add key="LDAPAPI" value="域认证服务器的api地址"/> 2.Api控制器Controller pu…
sharepoint默认是没有修改AD密码 和切换 用户的功能,这里我用future的方式来实现. 部署wsp前: 部署后 点击以其他用户身份登录 点击修改用户密码: 这里的扩展才菜单我们用CustomAction来实现,我们需要添加空项目来部署它 以其他用户身份登录得xml如下: 修改用户密码的xml如下: 这里我们需要新建一个应用程序页面,首先需要添加路径映射: 添加应用程序页面的代码如下: <%@ Assembly Name="$SharePoint.Project.Assembly…
sharepoint默认是没有修改AD密码 和切换 用户的功能,这里我用future的方式来实现. 部署wsp前: 部署后: 点击以其他用户身份登录 点击修改用户密码: 这里的扩展才菜单我们用CustomAction来实现,我们需要添加空项目来部署它 以其他用户身份登录得xml如下: 修改用户密码的xml如下: 这里我们需要新建一个应用程序页面,首先需要添加路径映射: 添加应用程序页面的代码如下: <%@ Assembly Name="$SharePoint.Project.Assembl…
LDAP操作代码样例  初始化LDAP 目录服务上下文 该例子中,我们使用uid=linly,ou=People,dc=jsoso,dc=net这个账号,链接位于本机8389端口的LDAP服务器(ldap://localhost:8389),认证方式采用simple类型,即用户名/密码方式. private static void initialContext() throws NamingException{    if(singleton == null){     singleton =…
由于ajax本身实际上是通过XMLHttpRequest对象来进行数据的交互,而浏览器出于安全考虑,不允许js代码进行跨域操作,所以会警告 网站开发,在某些情况下需要用到跨域. 什么是跨域? 跨域,指的是浏览器不能执行其他网站的脚本.它是由浏览器的同源策略造成的,是浏览器对JavaScript施加的安全限制. ajax本身实际上是通过XMLHttpRequest对象来进行数据的交互,而浏览器出于安全考虑,不允许js代码进行跨域操作,所以会警告. 常见解决跨域的方式 script标签 iframe…
假如有这么一个需求,要记录所有用户访问某一页面的次数. 最先想到的可能是在该Controller定义一个静态成员,然后在相应Action里自增.但这样有一个问题,就是Tomcat或者其他服务器重启的话,这个值是没办法保存的. 当然在数据库中直接保存也是可以的,但因此便要去单独建张表,日后用户访问相应页面都要去访问数据库维护该表有点不值得. 利用自定义ServletContextListener可以很方便做到这一点.思路如下: 1 .在 Web 应用启动时从文件中读取计数器的数值,并把表示计数器的…
public Boolean ValidateDomainUser(string Domain, string UserName, string Password) { DirectoryEntry entry = new DirectoryEntry(Domain, UserName, Password); try { ).Value);//如果账号不对则会抛出异常 return true; } catch { return false; } finally { entry.Dispose()…
private const string domainName = "本机IP地址或域名"; private const string adAdmin = "管理员帐号"; private const string password = "管理员密码"; private const string ouName = "子节点名";//只是一个子节点名 private DataTable GetADUsers() { DataTa…
操作步骤: 添加认证源 使用管理员账号登录Gogs,进入控制面板→认证源管理→添加新的源 设置如图所示 使用ldap认证源登录 配置成功后,登录时可选择认真源,界面如图所示…
1.java Ldap基础类 package com.common; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.UnsupportedEncodingException; import java.util.ArrayList; import java.util.Hashtable; import java.util.List; imp…
项目概述: 一般在企业中,用户以WINDOWS的域用户统一的管理,所以以Django快速开发的应用,不得不集成AD域登录. 网上一般采用django-python3-ldap的库来做集成登录,但是本方案中需要同时使用域用户登录以及站点用户登录的功能.所以我们直接改写django的ModelBackend类以及User类来实现. 实现功能: User表中增加一个 是否是域用户的字段,如果登录用户是域用户则采用ldap认证,如果不是域用户还采用Django本身的验证. 实现分析: 一.User表中如…
1.获取windows AD域用户信息,首先需要有一个ad域管理员权限的账号,用这个账号连接ad域,获取所有域用户信息 用LdapContext,它继承自DirContext public Object getAllAdUserNames() { List<String> list = new ArrayList<>(); String username = "lisi@ad.com"; String password = "123@abc.com&q…
直接上干货,核心代码如下,读取出来相应的用户清单到DataTable中.需要其它字段可以自己增加,别忘了引用using System.DirectoryServices. #region private DataTable GetData(int pageIndex, int pageSize, out int recordCount) 获取数据 /// <summary> /// 获取数据 /// </summary> private DataTable GetData(int…