当前位置:编程学习 > C#/ASP.NET >>

关于AD更新的疑惑 UserPrincipal和用username查询到的结果路径实例化的DirectoryEntry

我在实现AD用户信息同步的时候,就出现了一个疑惑:到底是通过UserPrincipal实例去赋值更新
还是用username查询到的结果路径实例化的DirectoryEntry去更新,是不是AD里没有用户要更新就用UserPrincipal ,而存在用户就先用DirectoryEntry去搜索,找到指定条目之后再用对应的path实例化一下去更新属性,具体如下

方案一:
       UserPrincipal up = new UserPrincipal(context);
       up.Address=...
       up.Tel=...
       ...

方案二:
        先实例化一个rootEntry
        //searcher
        DirectorySearcher directorySearch =
                    new DirectorySearcher(RootEntry,filter);
        SearchResult results = directorySearch.FindOne();
        if (results != null)
        {
           DirectoryEntry userEntry = new DirectoryEntry(results.Path, LDAPUser, LDAPPassword);
           UserInfo.name=...
           UserInfo.Tel=...
           ...
         }
有大神能帮帮忙解答一下吗,我刚接触这东西,平时只是顺手党,所以没什么分了 AD --------------------编程问答-------------------- 方案二没写完整
        if (results != null)
        {
           DirectoryEntry userEntry = new DirectoryEntry(results.Path, LDAPUser, LDAPPassword);
           return new UserInfo(userEntry);
         }

           UserInfo.name=...
           UserInfo.Tel=...
           ...
实际上UserInfo里面的字段赋值都是通过
 public string GetPropertyValue(DirectoryEntry propertyEntry,string properties)
        {
            if (propertyEntry.Properties.Contains(properties))
            {
                return propertyEntry.Properties[properties][0].ToString();
            }
            else
            {
                return String.Empty;
            }
        }
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,