如何在Sharepoint中找到登录用户?

时间:2010-03-11 07:31:03

标签: c# sharepoint web-parts

我开发了一个必须部署在Sharepoint服务器上的“Web部件”。我需要用户的用户名,该用户已登录Web部件中的sharepoint服务器。

如何获取该用户名?

6 个答案:

答案 0 :(得分:28)

以下为我工作:

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

并检查this

答案 1 :(得分:12)

您可以使用:

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

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

您还应该检查this.Context.User.Identity.IsAuthenticated以确保在尝试提取用户名之前有用户登录。

答案 2 :(得分:3)

嘿所有,我得到了我的问题的答案希望这对你们都有用...... 首先在Web部件中添加对MicrosoftSharepoint.dll文件的引用。 然后写 使用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;

此致, Jigar< 3

答案 3 :(得分:2)

SPContext.Current.Web.CurrentUser

答案 4 :(得分:0)

//不要忘记添加System.DirectoryServices.AccountManagement作为参考并使用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);
    }

答案 5 :(得分:0)

您还可以通过 _spPageContextInfo 属性获取当前记录的用户ID。

 _spPageContextInfo.userId

您将通过 _spPageContextInfo 获取当前用户的ID。试试这可能会对你有帮助。

相关问题