웹 서비스를 통해 Sharepoint에 이야기 할 때 모든 노력이 도메인 \ 사용자 이름이 필요해 보인다. 예 :Sharepoint에 대화하는 방법 : 나는 단지 성함을 가지고있다.
UserProfileService.GetUserProfileByName(string accountName)
accountName은 domain \ user name이어야합니다.
전체 이름 (이름 성) 만있는 경우 SharePoint와 통신 할 수 있습니까? 전체 이름을 도메인 \ 사용자 이름으로 변환 할 수있는 방법이 있습니까? 도메인 \ 사용자 이름이 유일한 방법입니까?
미리 감사드립니다. :)
답장을 보내 주셔서 감사합니다. :)
코드는 다음과 같습니다
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;
}
감사합니다. 잘 작동한다. – ira