web-dev-qa-db-de.com

Wie finde ich den angemeldeten Benutzer in Sharepoint?

Ich habe ein "Webpart" entwickelt, das auf einem Sharepoint-Server bereitgestellt werden muss. Ich benötige den Benutzernamen des Benutzers, der sich auf dem Sharepoint-Server im Webpart angemeldet hat.

Wie bekomme ich diesen Benutzernamen?

13
Brigadier Jigar

Hallo zusammen, ich habe die Antwort auf meine Frage bekommen. Hoffe, das wird für Sie alle funktionieren ... Fügen Sie zunächst einen Verweis auf die MicrosoftSharepoint.dll-Datei in Ihrem Webpart hinzu. Schreiben Sie dann .] mit 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;

Mit freundlichen Grüßen Jigar <3

3
Brigadier Jigar

Folgendes hat für mich gearbeitet:

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

und check this out.

27
KMån

Sie können verwenden:

SPWeb web = SPControl.GetContextWeb(this.Context);
string userName = web.CurrentUser.LoginName;

oder

string userName = this.Context.User.Identity.Name;

Sie sollten auch this.Context.User.Identity.IsAuthenticated überprüfen, um sicherzustellen, dass ein Benutzer angemeldet ist, bevor Sie versuchen, den Benutzernamen zu extrahieren.

12
Mikael Svenson

SPContext.Current.Web.CurrentUser

2
No_Nick777

// Vergessen Sie nicht, System.DirectoryServices.AccountManagement als Referenz hinzuzufügen und System.DirectoryServices.AccountManagement zu verwenden.

    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

Sie können die aktuelle protokollierte Benutzer-ID auch über _spPageContextInfo property abrufen.

 _spPageContextInfo.userId

Sie erhalten die ID des aktuellen Benutzers über _spPageContextInfo . Versuchen Sie, das kann Ihnen helfen.

0
Kaushal Khamar