C# 操作LDAP查找组或人员信息
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.DirectoryServices;/// <summary>
///ADUtil 的摘要说明
/// </summary>
public class ADUtil
{// LDAP地址 例如:LDAP://my.com.cnprivate const string LDAP_HOST = "LDAP://my.com.cn";// 具有LDAP管理权限的特殊帐号private const string USER_NAME = "account";// 具有LDAP管理权限的特殊帐号的密码private const string PASSWORD = "password";public ADUtil(){////TODO: 在此处添加构造函数逻辑//}/*** 向某个组添加人员* groupName 组名称* userName 人员域帐号**/public static void addGroupMember(string groupName, string userName){DirectoryEntry group = getGroupByName(groupName);group.Username = USER_NAME;group.Password = PASSWORD;group.Properties["member"].Add(getUserDNByName(userName));group.CommitChanges();}/*** 从某个组移出指定的人员* groupName 组名称* userName 人员域帐号**/public static void removeGroupMember(string groupName, string userName){DirectoryEntry group = getGroupByName(groupName);group.Username = USER_NAME;group.Password = PASSWORD;group.Properties["member"].Remove(getUserDNByName(userName));group.CommitChanges();}/*** 获取指定人员的域信息* name 人员域帐号 **/public static object getUserDNByName(string name){DirectorySearcher userSearch = new DirectorySearcher(LDAP_HOST);userSearch.SearchRoot = new DirectoryEntry(LDAP_HOST, USER_NAME, PASSWORD);userSearch.Filter = "(SAMAccountName=" + name + ")";SearchResult user = userSearch.FindOne();if (user == null){throw new Exception("请确认域用户是否正确");}return user.Properties["distinguishedname"][0];}/*** 获取指定域组的信息* name 组名称 **/public static DirectoryEntry getGroupByName(string name){DirectorySearcher search = new DirectorySearcher(LDAP_HOST);search.SearchRoot = new DirectoryEntry(LDAP_HOST, USER_NAME, PASSWORD);search.Filter = "(&(cn=" + name + ")(objectClass=group))";search.PropertiesToLoad.Add("objectClass");SearchResult result = search.FindOne();DirectoryEntry group;if (result != null){group = result.GetDirectoryEntry();}else {throw new Exception("请确认AD组列表是否正确");}return group;}
}
C# 操作LDAP查找组或人员信息相关推荐
- [附源码]Java计算机毕业设计SSM防疫期社区人员信息动态管理系统
项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...
- [附源码]JAVA+ssm计算机毕业设计防疫期社区人员信息动态管理系统(程序+Lw)
项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...
- 14.Yum详解,yum安装,查找,info,反向查找,组,依赖,缓存等所有操作
本章详细讲解yum的使用.包含yum源,Repo文件,本地 yum 源,本地iso的YUM源,网络yum源,yum语法,yum 安装包(yum install),yum install pkg(安装) ...
- Spring Boot中使用LDAP来统一管理用户信息
很多时候,我们在构建系统的时候都会自己创建用户管理体系,这对于开发人员来说并不是什么难事,但是当我们需要维护多个不同系统并且相同用户跨系统使用的情况下,如果每个系统维护自己的用户信息,那么此时用户信息 ...
- 高校人员信息管理系统(C++版)
目录 高校人员信息管理系统 一.问题描述 二.功能要求 三.问题的解决方案 四.代码段 1.多文件 2.单文件 高校人员信息管理系统 ...
- 人员信息二维码创建教程
人员信息二维码,微信扫码即可查看人员的身份.证件.资质等信息,扫码填写表单.更新状态.记录档案,实现一人一码数字化管理. 一.搭建教程 1. 编辑人员信息批量模板 人员信息格式相同.标签打印样式相同, ...
- C#winform实现学生人员信息管理系统,可视化查看人员信息,一键修改、删除等,唯美登陆界面
使用展示: 一.登陆.注册界面 如果是新用户没有注册过的话,点击注册按钮注册.如果已经注册了,则直接输入账号密码登陆即可. 二.人员信息登记 点击选择头像可选择头像,登记信息后点击保存信息按钮即可. ...
- 高校人员信息管理系统(C++课设)
/* 高校人员信息管理系统 作者:徐世兴 时间:2019年11月1日 *///预定义区 #include<iostream> #include<string> #include ...
- 用户姓名保护python_Python操作LDAP,对用户进行认证(验证用户名以及密码)
Python操作LDAP,对用户进行认证 1.环境 Python版本: 3.7.1 操作系统:windows 7 x64 第三方包:python-ldap 2.LDAP LDAP,它是基于X.500标 ...
最新文章
- LeetCode刷题-8
- pandas创建时间序列仿真数据并过滤(filter)时间数据:头尾数据、某年的数据、某年某月的数据、某年某月某日的数据、某个时间范围内的数据、truncate函数查看特定时间之前护着之后的数据
- Qt Creator 代码自动补全设置
- apache spark_Apache Spark Job的剖析
- java不想出差_您不想错过的十大Java书籍
- 前端学习(3144):react-hello-react之对比新旧周期
- 到底是什么原因才导致 select * 效率低下的?
- vue修改Element的el-table样式
- ON DUPLICATE KEY UPDATE单个增加更新及批量增加更新的sql
- GIt帮助文档之创建新的Git仓库——现有目录下,通过导入所有文件来创建
- 60 岁的人工智能,会是“人类历史最后的事件”吗?
- IIS6.0系统日志中出现此错误Timer_MinBytesPerSecond,Timer_ConnectionIdle
- java、sftp文件服务器的操作(获取链接。上传、下载,删除,获取图片或者文件)
- 安装SHARP MX-3618NC PCL6打印机驱动程序
- [转载]乔布斯十大经典语录
- 想知道你和她在网易云喜欢的音乐的重合率?
- 显卡内存和计算机内存,512M和1GB显卡显示内存大小有什么区别
- 计算机虚拟技术有什么用途,CPU虚拟化有什么作用?CPU怎么开启虚拟化技术?
- 不会吧,现在你都还不知道次世代游戏?花1分钟来了解!
- Adobe After Effect的 安装 教程