English 中文(简体)
如何与Sharepoint交流:如果我只有完整姓名
原标题:
  • 时间:2009-03-06 01:42:52
  •  标签:

似乎每个通过其网络服务与SharePoint交谈的努力都需要一个域用户名。例如:

UserProfileService.GetUserProfileByName(string accountName) 

账户名应该是域用户的名称。

If I only got full name (FirstName LastName), is it possible to communicate with SharePoint? Is there any way to convert the full name into domainuser name? Is domainuser name the only way to do it?

提前谢谢。 :)


谢谢您的回答。:)

这个代码看起来像这样:

using System.DirectoryServices;



const string ADPATH = "LDAP://myLDAPserver,validUserforAD";
const string USERNAME = "myDomain\myUserName";
const string PASSWORD = "myPassword";
const string DOMAIN = "myDomain\";

public static DirectoryEntry GetDirectoryObject()
{
        DirectoryEntry directoryObject = new DirectoryEntry(ADPATH, USERNAME, PASSWORD, AuthenticationTypes.Secure);
        return directoryObject;
}


public string GetUserNameByCompleteName(string completeName)
{
            DirectoryEntry adObject = GetDirectoryObject();

            //filter based on complete name
            DirectorySearcher searcher = new DirectorySearcher(adObject);
            searcher.Filter = "displayname=" + completeName;
            SearchResult result = searcher.FindOne();

            DirectoryEntry userInfo = result.GetDirectoryEntry();

            //getting user name
            string userName = (string)userInfo.Properties["samaccountname"].Value ?? string.Empty;
            userInfo.Close();
            adObject.Close();

            return DOMAIN + userName;
}
最佳回答

我想你可以尝试查询活动目录以获取用户的名字和姓氏来确定他们的账户名。

问题回答

尝试使用UserGroup.GetAllUserCollectionsFromWeb(),可以迭代结果以获取给定显示名称的登录名。

您可以使用PeopleEditor控件,它可以通过输入姓和名的组合来获取用户,或者您可以浏览目录。

people = new PeopleEditor();
people.MultiSelect = false;

this.Controls.Add(people);

...

int userID = Int32.Parse((((PickerEntity)people.ResolvedEntities[0]).EntityData["SPUserID"]).ToString());

SPUser user = SPContext.Current.Site.RootWeb.SiteUsers.GetByID(userID);

有点麻烦和荒谬,但它可以工作。 如果您需要以编程方式获取它,您可以像Jason上面所说的那样获取SPUserCollection并进行循环,查找具有适当显示名称的SPUser





相关问题
热门标签