J'ai développé une "partie Web" qui doit être déployée sur un serveur Sharepoint. J'ai besoin du nom d'utilisateur de l'utilisateur qui s'est connecté au serveur SharePoint dans la partie Web.
Comment puis-je obtenir ce nom d'utilisateur?
Bonjour à tous, j’ai la réponse à ma question. J'espère que cela fonctionnera pour vous tous. Ajoutez d’abord une référence au fichier MicrosoftSharepoint.dll dans votre composant WebPart. Puis écrivez utilisant Microsoft.SharePoint;
string username;
string sspURL = "URL where Sharepoint is deployed";
SPSite site = new SPSite(sspURL);
SPWeb web = site.OpenWeb();
SPUser user = web.CurrentUser;
username = user.LoginName;
site.AllowUnsafeUpdates = true;
Bien à vous, Jigar <3
La suite a fonctionné pour moi:
SPWeb theSite = SPControl.GetContextWeb(Context);
SPUser theUser = theSite.CurrentUser;
string strUserName = theUser.LoginName;
et vérifiez ceci out.
Vous pouvez utiliser:
SPWeb web = SPControl.GetContextWeb(this.Context);
string userName = web.CurrentUser.LoginName;
ou
string userName = this.Context.User.Identity.Name;
Et vous devez également vérifier this.Context.User.Identity.IsAuthenticated
pour vous assurer qu'un utilisateur est connecté avant d'essayer d'extraire le nom d'utilisateur.
SPContext.Current.Web.CurrentUser
// n'oubliez pas d'ajouter System.DirectoryServices.AccountManagement comme référence et à l'aide de System.DirectoryServices.AccountManagement;
PrincipalContext insPrincipalContext = new PrincipalContext(ContextType.Domain, "MyDomain","DC=MyDomain,DC=com");
UserPrincipal insUserPrincipal = new UserPrincipal(insPrincipalContext);
insUserPrincipal.Name = "*";
PrincipalSearcher insPrincipalSearcher = new PrincipalSearcher();
insPrincipalSearcher.QueryFilter = insUserPrincipal;
PrincipalSearchResult<Principal> results = insPrincipalSearcher.FindAll();
foreach (Principal p in results)
{
Console.WriteLine(p.Name);
}
Vous pouvez également obtenir l'ID utilisateur enregistré actuel avec _spPageContextInfo property.
_spPageContextInfo.userId
Vous obtiendrez l'ID de l'utilisateur actuel par _spPageContextInfo . Essayez ceci peut vous aider.