asp.net 修改Active Directory 中用户信息,求助!!!!!
现在是这样的,我通过获取网页中文本框中内容,进行数据库操作,增,删,查,改,
里面有字段电话号码,手机,邮箱等等
用户在修改手机号码的时候同时更新 数据库字段信息,和Active Directory 中用户信息,。。
Active Directory很让我郁闷,没有用过,有没有大神用过,给个案例,找了好多资料没看懂~~
------解决方案--------------------------------------------------------
- C# code
using System.DirectoryServices;--先应用 --添加用户DirectoryEntry entry = new DirectoryEntry(BaseFunctions.DomainSrv,HttpContext.Current.Session["username"].ToString(),HttpContext.Current.Session["password"].ToString(), AuthenticationTypes.Secure); DirectoryEntry subEntry = entry.Children.Find(ou.Value); DirectoryEntry deUser = subEntry.Children.Add("cn=" +firstname.Text.ToString()+lastname.Text.ToString(), "user"); deUser.Properties["userPrincipalName"].Add((accountname.Text.ToString()+"@"+BaseFunctions.Domainname)); deUser.Properties["samAccountName"].Add(accountname.Text.ToString());//帐户 deUser.Properties["description"].Value = desc.Text.ToString(); deUser.Properties["sn"].Add(firstname.Text.ToString()); deUser.Properties["givenName"].Add(lastname.Text.ToString()); deUser.Properties["displayName"].Add(firstname.Text.ToString()+lastname.Text.ToString()); deUser.CommitChanges(); deUser.Invoke("ChangePassword",new object[]{"",password.Text.ToString()}); deUser.Properties["userAccountControl"].Value = 0x200; deUser.CommitChanges(); deUser.Close(); lblShowInfo.Text="添加成功";
------解决方案--------------------------------------------------------
你需要采用管理员身份运行你的iis才可以操作Active Directory
操作代码
http://www.codeproject.com/Articles/18102/Howto-Almost-Everything-In-Active-Directory-via-C
Howto: (Almost) Everything In Active Directory via C#