您的位置:首页 > 编程语言 > C#

c# Ldap 创建本地用户,隶属组成员、dns的域

2005-11-28 14:44 483 查看
在上次的blog我们介绍了如何使用winnt 协议来建winodws用户,需要结合System.DirectoryServices,本次我们将使用lasp来做一些简单的操作、如本地用户和组、dns服务器、以下的代码在windows 2000 上通过。需要安装目录树服务器。 更对的信息请访问http://www.35cn.com/index_soft.htm
1、LDAP是什么
LDAP是一个用来发布目录信息到许多不同资源的协议。通常它都作为一个集中的地址本使用,不过根据组织者的需要,它可以做得更加强大。
2、LDAP最基本的形式是一个连接数据库的标准方式。该数据库为读查询作了优化。因此它可以很快地得到查询结果,不过在其它方面,例如更新,就慢得多。要特别注意的是,LDAP通常作为一个hierarchal数据库使用,而不是一个关系数据库。因此,它的结构用树来表示比用表格好。正因为这样,就不能用SQL语句了。

  简单说来,LDAP是一个得到关于人或者资源的集中、静态数据的快速方式。

LDAP是轻量目录访问协议(Lightweight Directory Access Protocol)的缩写,其实是一话号码簿,类似于我们所使用诸如NIS(Network Information Service)、DNS (Domain Name Service)等网络目录,也类似于你在花园中所看到的树木。
LDAP是一种特殊的数据库。但是LDAP和一般的数据库不同,明白这一点是很重要的。 LDAP对查询进行了优化,与写性能相比LDAP的读性能要优秀很多。
如何在.net使用
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.DirectoryServices;
namespace cendy
{
/// <summary>
/// adnew 的摘要说明。
/// </summary>
public class adnew : System.Web.UI.Page
{

private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
creat_dnszone();//调用创建dns的方法
DirectoryEntry myde=new DirectoryEntry("LDAP://ycinfo.35cn.com/CN=Users,DC=35cn,DC=com");
DirectoryEntry user=myde.Children.Add("CN=zixian","user"); //在用户对象创建zixian用户
user.UsePropertyCache=true;
user.Properties["company"].Add("cendychen");
user.Properties["department"].Add("sales");
user.Properties["samAccountName"].Add("sename");
user.Properties["userPassWord"].Add("123");
//设置用户的属性
user.CommitChanges();
//更新的ad目录树
using(DirectoryEntry myde2=new DirectoryEntry()) //设置zixian隶属guests组
{
myde2.Path="LDAP://ycifo.35cn.com/CN=Guests,CN=Builtin,DC=35cn,DC=com";
myde2.Username=@"35cn/Administrator";
myde2.Password="123";
int i=myde2.Properties["member"].Count+1;//获取guests成员的个数+1
myde2.Properties["member"].Add("CN=zixian,CN=Users,DC=cnsun,DC=com");//增加zixian用户到member中
myde2.CommitChanges();// 更新到ad目录树。
}
}
private void creat_dnszone()//创建dns域的方法
{
DirectoryEntry dbsde=new DirectoryEntry("LDAP://ycinfo.35cn.com/CN=MicrosoftDNS,CN=System,DC=35cn,DC=com");
dbsde.AuthenticationType = AuthenticationTypes.Secure;
dbsde.Username = "Administrator";
dbsde.Password = "123";
DirectoryEntry newGroup=dbsde.Children.Add("DC=cendychen.com","dnsZone");//添加新的域
newGroup.CommitChanges();//更新的dns树
dbsde.Close();
}

#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}

/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: