日期:2014-05-17  浏览次数:20873 次

关于用C#操作AD的登录问题
我用下面没有注释的代码可以访问到AD下面USER默认的用户。
如果我想自己新建组织单元,然后用C#去访问,PATH路径应该如何设置
using System;
using System.Collections.Generic;
using System.Text;
using System.DirectoryServices;

namespace LDAPTest
{
  class Program
  {
  static void Main(string[] args)
  {
  using (DirectoryEntry de = new DirectoryEntry())
  {
  de.Path = "LDAP:// DC=contoso,DC=local,OU=Accounts";
  de.Username = "ab";
  de.Password = "pass@word1";

  //de.Path = "LDAP://contoso.com";
  //de.Username = "fly";
  //de.Password = "pass@word1";

  PropertyCollection props = de.Properties;
  foreach (string prop in props.PropertyNames)
  {
  PropertyValueCollection values = props[prop];
  foreach (object o in values)
  {
  Console.Write(prop + ": ");
  Console.WriteLine(o.ToString());
  }
  }
  }
  Console.ReadLine();
  }
  }
}


------解决方案--------------------
顶一个。
------解决方案--------------------
组织单元?什么东西?
------解决方案--------------------
up
------解决方案--------------------
帮你顶一下
------解决方案--------------------
de.Path = "LDAP:// DC=contoso,DC=local,OU=Accounts"; 
de.Username = "ab"; 

dc是域 ,OU就是组织单元,跟上边这句学写啊
你上边这2句转换下应该是 ab@Accounts.contoso.local
这样的格式你就应该知道怎么写你自己的用户了吧
如果你只是变个用户名,就写成如下
user@Accounts.contoso.local
de.Path = "LDAP:// DC=contoso,DC=local,OU=Accounts"; 
de.Username = "user"; 
如果组织单元变化
myname@myou.contoso.local
de.Path = "LDAP:// DC=contoso,DC=local,OU=myou"; 
de.Username = "myname"; 

------解决方案--------------------
活动目录是使用ADSI接口的,任何的用户都能去访问一些资源,要不你平时登陆的时候就不能正常登陆了呵呵。
但是新建OU是需要一些权限的,PATH的大概像OU=xx,DC=xx,DC=xx,DC=xx