Question

Il semble que tous les efforts déployés pour communiquer avec Sharepoint via ses services Web nécessitent un domaine \ nom d'utilisateur. Par exemple:

UserProfileService.GetUserProfileByName(string accountName) 

Le nom du compte doit être domaine \ nom d'utilisateur.

Si je n'ai que le nom complet (Prénom Nom), est-il possible de communiquer avec SharePoint? Est-il possible de convertir le nom complet en domaine \ nom d'utilisateur? Est-ce que domaine \ nom d'utilisateur est le seul moyen de le faire?

Merci d'avance. :)

Merci pour les réponses. :)

Le code ressemble à ceci:

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;
}
Était-ce utile?

La solution

Je suppose que vous pouvez essayer d'interroger Active Directory sur le prénom et le nom de l'utilisateur afin de déterminer son nom de compte.

scroll top