1. 程式人生 > >java程式碼LDAP操作(增刪改查)AD(活動目錄)- 新增

java程式碼LDAP操作(增刪改查)AD(活動目錄)- 新增

增加使用者

package cn.com.wilcom.main;

import java.util.Arrays;
import java.util.Hashtable;
import javax.naming.Context;
import javax.naming.NamingException;
import javax.naming.directory.Attribute;
import javax.naming.directory.Attributes;
import javax.naming.directory.BasicAttribute;
import javax.naming.directory.BasicAttributes;
import javax.naming.ldap.InitialLdapContext;
import javax.naming.ldap.LdapContext;

public class Add {

	/** connect to ldap */
	public LdapContext connectLDAP() throws NamingException {

		Hashtable<String, String> HashEnv = new Hashtable<String, String>();
		
		String adminName = "
[email protected]
****.com.cn";//username登陸的使用者名稱,@後面根據自己的情況寫 String adminPassword = "password!";//密碼 String ldapURL = "LDAP://IP:port";//格式:LDAP://IP:port; HashEnv.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory"); HashEnv.put(Context.SECURITY_AUTHENTICATION, "simple");// "none","simple","strong" HashEnv.put(Context.SECURITY_PRINCIPAL, adminName); HashEnv.put(Context.SECURITY_CREDENTIALS, adminPassword); HashEnv.put(Context.PROVIDER_URL, ldapURL); LdapContext ctx = new InitialLdapContext(HashEnv, null); System.out.println("<<<:[connect success]:>>>"); return ctx; } /** add user to AD */ public void addUser() throws NamingException { LdapContext ctx = connectLDAP(); Attributes attrs = new BasicAttributes(true); Attribute objclass = new BasicAttribute("objectclass"); Attribute pass = new BasicAttribute("userpassword"); String newUserName = "fancionwang"; /** add password */ pass.add("111111"); /** add ObjectClass */ String[] attrObjectClassPerson = { "user", "organizationalPerson", "person", "top" }; Arrays.sort(attrObjectClassPerson); for (String ocp : attrObjectClassPerson) { objclass.add(ocp); } /** set attr */ attrs.put(pass); attrs.put(objclass); String userDN = "CN=" + newUserName + "," + "CN=Users,DC=wilcom,DC=com,DC=cn"; // int UF_ACCOUNTDISABLE = 0x0002; int UF_PASSWD_NOTREQD = 0x0020; // int UF_PASSWD_CANT_CHANGE = 0x0040; int UF_NORMAL_ACCOUNT = 0x0200; int UF_DONT_EXPIRE_PASSWD = 0x10000; // int UF_PASSWORD_EXPIRED = 0x800000; attrs.put("sn", "wang"); attrs.put("givenName", "fancion"); attrs.put("cn", newUserName); attrs.put("displayName", newUserName); attrs.put("mail", "
[email protected]
"); attrs.put("description", "test"); attrs.put("userPrincipalName", "[email protected]"); attrs.put("sAMAccountName", newUserName); attrs.put("msDS-SupportedEncryptionTypes", "0"); /** 設定傳真 */ attrs.put("facsimileTelephoneNumber", "fancionwang.fax.wiocom.com.cn"); /** 尋呼機 */ attrs.put("pager", "****"); /** ip電話 */ attrs.put("ipPhone", "****"); /** 家庭電話 */ attrs.put("homePhone", "********"); /** 行動電話 */ attrs.put("mobile", "***********"); /** 設定賬戶資訊 */ attrs.put("userAccountControl", Integer.toString(UF_DONT_EXPIRE_PASSWD + UF_NORMAL_ACCOUNT + UF_PASSWD_NOTREQD)); ctx.createSubcontext(userDN, attrs); ctx.close(); System.out.println("<<<:[ADD success]:>>>"); } public static void main(String[] args) throws NamingException { new Add().addUser(); } }

說明:

      1: userDN你所新增使用者的路徑

      2:本案例不需要使用額外的jar包,使用java原生自來的就可以

相關推薦

java程式碼LDAP操作刪改AD活動目錄- 新增

增加使用者 package cn.com.wilcom.main; import java.util.Arrays; import java.util.Hashtable; import javax.naming.Context; import javax.namin

MongoDBjava操作mongodb刪改

    java操作mysql資料庫的程式碼我們已經瞭如指掌了,增刪改查,java對mongodb資料庫也是類似的操作,先是資料庫連線,再是進行操作。     首先我們進入進入admin資料庫,然後建立自己的資料庫testMongoDb,進入admin資料庫後,就可以直

Java通過mongo-java-driver-3.0+操作mongodb資料庫刪改

本文以mongo-java-driver-3.5.0.jar為例 1 需要的jar包:https://pan.baidu.com/s/1jI3kB9W 密碼:79hv mongo-java-driver-3.5.0.jar junit-4.9.jar 2

java實現對MongoDB的基本操作刪改

準備工作:要想用java實現對MongoDB的增刪改查,首先需要下載mongo的java驅動,mongo-java-driver-3.2.2, 下載地址:https://oss.sonatype.org/content/repositories/releases/org/m

MongoDB的java操作刪改總結篇內嵌文件、陣列

Mongo資料User: "_id" : "11373126679","name" : "Wangwei","his_Record" : [{"bikeId" : "309","status" : 1}],"location" : {"Area" : "aaa","X" :

java實現hbase資料庫的刪改操作新API

操作環境:    java版本:    jdk 1.7以上    hbase 版本:1.2.x    hadoop版本:2.6.0以上 實現功能: 1,建立指定表        2,刪除指定表       3,根據表名,行鍵,列族,列描述符,值插入資料       4,根

Java操作Hbase刪改附帶複合條件查詢以及分頁查詢

  最近專案中用到了Hbase,所以看了下Java操作Hbase的有關API,並根據專案中的需求寫了下增刪改查。閒話少說,先貼原始碼: package com.infobird.test1; import java.io.IOException; import java

mongodb 集合操作 刪改

有變 添加 port strong ner 速度 遊標 基礎 ror 1、插入: 使用insert或save方法想目標集合插入一個文檔: db.person.insert({"name":"ryan","age":30}); 使用batchInser

laravel中的數據庫操作刪改方法一

-s delet 增刪 insert 修改 name tro des 命名空間 導入命名空間和DBnamespace App\Http\Controllers;use Illuminate\Support\Facades\DB; public function index

java連接mysql以及刪改操作

while sql mysq stmt values url text tin lose java連接數據庫的代碼基本是固定的,步驟過程覺得繁瑣些,代碼記起來對我來說是鬧挺。直接上代碼: (溫馨提醒:你的項目提前導入連接數據庫的jar包才有的以下操作 ) 1 clas

Java的動態數組:ArrayList的簡單運用刪改

ArrayList的使用 Java的動態數組 ArrayList 小夥伴們!今天做個筆記分享給大家!這個是我創建的QQ交流群:315677448感興趣的歡迎你的加入。廢話不多說直接進入今天的主體ArrayList就是傳說中的動態數組!咱們創建一個Test類,具體代碼如下:package Case0

Mysql的基本操作刪改

it行業 delet HERE zha 不重復 incr sch table watermark 以下是MySQL最基本的增刪改查語句,創建索引,刪除索引,查看索引。數據庫裏表的關聯。很多IT工作者都必須要會的命令,也是IT行業面試最常考的知識點,由於是入門級基礎命令

PHP操作MongoDB刪改

MongoDB的PHP驅動提供了一些核心類來操作MongoDB,總的來說MongoDB命令列中有的功能,它都可以實現,而且引數的格式基本相似。PHP7以前的版本和PHP7之後的版本對MongoDB的操作有所不同,本文主要以PHP7以前版本為例講解PHP對MongoDB的各種操作,最後再簡單說明一下P

MongoDB的基本操作刪改

​ 目錄 概念整理 資料庫:一個MongoDB中可以建立多個數據庫。 集合:MongoDB的文件組。 文件:實際存放資料的地方。 常見的操作 資料庫(新增,刪除) 集合(新增,編輯,刪除) 文件(增刪改查)重點 查詢文件 新增文件(objectId) 編輯文件(set為部分更新,括號裡

mysql-資料記錄相關操作刪改及許可權管理

一、介紹 在MySQL管理軟體中,可以通過SQL語句中的DML語言來實現資料的操作,包括 使用INSERT實現資料的插入 UPDATE實現資料的更新 使用DELETE實現資料的刪除 使用SELECT查詢資料以及。 二、插入資料 1. 插入完整資料(順序插入) 語法一:

java+SQL做學生資訊管理系統刪改學生新作

java+SQL做學生資訊管理系統(增刪改查) 過程中需要用到的所有工具資料庫以及資料庫管理器等等 密碼:q80t 大學學習java後做的第一個小專案忍不住分享一下,也是我自己的面向物件程式設計的實踐作業啦,有點水,不是很優。廢話不多數,下面進入正題 介面的編

Django學習【第6篇】:Django之ORM單表操作刪改

大小寫 則表達式 分享 cnblogs 可能 集合 數據庫 cut 對象 django之數據庫表的單表查詢 一、添加表記錄 對於單表有兩種方式 # 添加數據的兩種方式 # 方式一:實例化對象就是一條表記錄

【筆記】爬蟲+資料庫操作刪改

基本操作: import pymysql #匯入模組 conn =pymysql.connect( host ='127.0.0.1', port =3307, user ='root', passwd='xhdake',

Java操作MongoDB刪改工具Demo

——因為實習工作需要,在學MongoDB,參考了公司的一個MongDB服務類,寫了一個整合的Demo,涉及到的大部分的增刪改查操作,而且還算規範,給大家參考!原始碼:(完整專案檔案下載連結:點選開啟連結)http://download.csdn.net/detail/zha

Hibernate 教程[Hibernate物件的操作,物件CURD操作刪改]

準備 因為測試學習的時候我們每次建一個類都需要獲取Session,很麻煩。所以要把獲取Session的方法封裝成一個工具類 package uitl; import org.hibernate.Session; import org.hibernate.SessionFactory