Active Directory 域服务对象
局域网计算机控制中心
可以在DC上控制所有局域网资源(计算机 、用户、设备)
大中型企业管理必备。
最后,它还可以让开发人员集成LDAP身份认证,使用域账号登录应用。
也就是说,此企业的所有系统,都可以用你的计算机账号来进行登录,授权。
<<Program.cs>>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.DirectoryServices;
using System.Collections;
using System.Text.RegularExpressions;
namespace ActiveDirectoryDome
{
class Program
{
static void Main(string[] args)
{
if (TryAuthenticate("prepat.net", "administrator", "yclb2009@"))
{
Console.WriteLine("登陆成功!");
}
else
{
Console.WriteLine("登陆失败!");
}
Console.WriteLine("*******************************************************");
List<string> group = new List<string>();
group = GetADGroups("administrator", "prepat.net", "administrator", "yclb2009@");
foreach (string temp in group)
{
Console.WriteLine("组名称:"+temp.ToString());
}
Console.ReadLine();
}
/// <summary>
/// 验证AD用户是否登陆成功
/// </summary>
/// <param name="domain">域名称</param>
/// <param name="username">用户名</param>
/// <param name="password">密码</param>
/// <returns>返回登陆状态</returns>
public static bool TryAuthenticate(string domain, string username, string password)
{
bool isLogin = false;
try
{
DirectoryEntry entry = new DirectoryEntry(string.Format("LDAP://{0}", domain), username, password);
entry.RefreshCache();
isLogin = true;
}
catch
{
isLogin = false;
}
return isLogin;
}
/// <summary>
/// 取用户所对应的用户组
/// </summary>
/// <param name="userName">用户名称</param>
/// <param name="domain">域</param>
/// <param name="adusername">登陆用户</param>
/// <param name="adpassword">登陆密码</param>
/// <returns></returns>
public static List<string> GetADGroups(string userName,string domain,string adusername,string adpassword)
{
List<string> groups = new List<string>();
try
{
var entry = new DirectoryEntry(string.Format("LDAP://{0}", domain), adusername, adpassword);
entry.RefreshCache();
DirectorySearcher search = new DirectorySearcher(entry);
search.PropertiesToLoad.Add("memberof");
search.Filter = string.Format("sAMAccountName={0}", userName);
SearchResult result = search.FindOne();
if (result != null)
{
ResultPropertyValueCollection c = result.Properties["memberof"];
foreach (var a in c)
{
string temp = a.ToString();
Match match = Regex.Match(temp, @"CN=\s*(?<g>\w*)\s*.");
groups.Add(match.Groups["g"].Value);
}
}
}
catch
{
}
return groups;
}
}
}
Active Directory 域服务对象的更多相关文章
- [Azure附录]1.在Windows Server 2012中安装Active Directory域服务
<Windows Azure Platform 系列文章目录> 1.登陆Windows Server 2012,打开服务器管理器,选择"添加角色和功能" 2.在&quo ...
- Windows Server 2012中安装Active Directory域服务
1.登陆Windows Server 2012,打开服务器管理器,选择"添加角色和功能" 2.在"开始之前"页面,直接点击"下一步" 3.选 ...
- install Active Directory域控制器
设置Active Directory域控制器 正如我们在网络与系统配置专题文章中所提到的那样,我们已将两部服务器设置为对应于内部域“intdomain.com”的Active Directory域控制 ...
- cmd 执行Dcpromo错误:在该 SKU 上不支持 Active Directory 域服务安装向导,Windows Server 2008 R2 Enterprise 配置AD(Active Directory)域控制器
今天,要安装AD域控制器,运行dcpromo结果提示:在该 SKU 上不支持 Active Directory 域服务安装向导. 以前弄的时候直接就通过了,这次咋回事?终于搞了大半天搞定了. 主要原因 ...
- Active Directory 域服务安装与测试
Active Directory 域服务安装与测试 实验原理: 安装域服务并创建用户,把另一个电脑加入域中,然后用域账户登录以及用本地账户登录测试 实验条件:windows server 2008(域 ...
- 您真的会修改Active Directory域控制器计算机名称吗
从我开始做微软这行开始,就经常听说某某公司由于什么原因需要修改Active Directory域控制器计算机名称,但发现好多公司都是直接修改,导致了各种奇葩的问题,今天就给大家推荐一个修改Active ...
- Active Directory 域服务(AD DS)
本文内容 概述 工作组架构与域架构 名称空间(Namespace) 对象(Object).容器(Container)与组织单位(Organization Units,OU) 域树(Domain Tre ...
- Active Directory域服务备份
此篇介绍如何通过Windows Server Backup工具备份Active Directory域服务 AD 域系统状态 在域控制器上,系统状态通常包括以下内容,但所包含的数据实际上取决于服务器上安 ...
- Active Directory 域服务 (AD DS) 虚拟化
TechNet 库 Windows Server Windows Server 2012 R2 和 Windows Server 2012 服务器角色和技术 Active Directory Acti ...
随机推荐
- Apache Spark
1. 用Apache Spark进行大数据处理——第一部分:入门介绍 2.
- AngularJS(二)——常见指令以及下拉框实现
前言 学完AngularJS,总体上感觉没什么新鲜的东西,但是又感觉每一步都很新鲜,因为没有见过,又因为学到的语法函数和JavaScript差不多,本篇主要介绍一些AngularJS的指令,常见指令和 ...
- luogu1210 回文检测
Manacher 正确读法:抹内A撤(马拉车) (跟着假硕学英语) 我们把原来的字符串,通过玄学处理,变成只留下字母,且每两个字母之间有一个奇怪的字符的那种Manacher专用字符串. 建立双射关系f ...
- linux线程切换和进程切换
进程切换分两步: 1.切换页目录以使用新的地址空间 2.切换内核栈和硬件上下文 对于linux来说,线程和进程的最大区别就在于地址空间,对于线程切换,第1步是不需要做的,第2是进程和线程切换都要做的. ...
- servlet验证2
登录界面 登录成功后 数据库 地址:https://gitee.com/lgcj1218/j2eehomework/tree/master
- Charles使用方法简介
Charles是一个web代理器,用来记录和展示你所发出和接收到的所有数据. 主要特性: SSL Proxying——易清晰地文本展示SSL请求和响应Bandwidth Throttling是用来模拟 ...
- Mybatis学习笔记(六) —— 动态sql
通过mybatis提供的各种标签方法实现动态拼接sql. 需求:根据性别和名字查询用户 查询sql: SELECT id, username, birthday, sex, address FROM ...
- sharepoint_study_目录学习笔记(长期更新)
1. _catalogs/masterpage:这个是SharePoint网站的母版页样式库页面,这里放了网站上所有的母版页(网站设置--Web设计器库--母版页和页面布局). 2. 15\TEMP ...
- CF628D Magic Numbers (数据大+数位dp)求[a,b]中,偶数位的数字都是d,其余为数字都不是d,且能被m整除的数的个数
题意:求[a,b]中,偶数位的数字都是d,其余为数字都不是d,且能被m整除的数的个数(这里的偶数位是的是从高位往低位数的偶数位).a,b<10^2000,m≤2000,0≤d≤9 a,b< ...
- 优先队列priority_queue的简单应用
优先队列 引入 优先队列是一种特殊以及强大的队列. 那么优先队列是什么呢? 说白了,就是一种功能强大的队列. 它的功能强大在哪里呢? 四个字:自动排序. 优先队列的头文件&&声明 头文 ...