web-dev-qa-db-fra.com

Comment trouver l'utilisateur connecté dans Sharepoint?

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?

13
Brigadier Jigar

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

3
Brigadier Jigar

La suite a fonctionné pour moi:

SPWeb theSite = SPControl.GetContextWeb(Context);
SPUser theUser = theSite.CurrentUser;
string strUserName = theUser.LoginName;

et vérifiez ceci out.

27
KMån

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.

12
Mikael Svenson

SPContext.Current.Web.CurrentUser

2
No_Nick777

// 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);
    }
0
chinthaka

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.

0
Kaushal Khamar