web-dev-qa-db-ja.com

Sharepointにログインしているユーザーを見つける方法は?

SharePointサーバーに展開する必要がある「Webパーツ」を開発しました。 Webパーツ内のSharePointサーバーにログインしたユーザーのユーザー名が必要です。

そのユーザー名を取得するにはどうすればよいですか?

13
Brigadier Jigar

こんにちは、私は私の質問に対する答えを得ましたこれがあなたのためにうまくいくことを願っています...まず、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;

ユアーズ、ジガー<3

4
Brigadier Jigar

以下は私のために働きました:

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

そして this をチェックしてください。

28
KMån

以下を使用できます。

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

または

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

そして、あなたはthis.Context.User.Identity.IsAuthenticatedまた、ユーザー名を抽出する前に、ユーザーがログインしていることを確認してください。

12
Mikael Svenson

SPContext.Current.Web.CurrentUser

2
No_Nick777

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

_ spPageContextInfoプロパティを使用して、現在ログに記録されているユーザーIDを取得することもできます。

 _spPageContextInfo.userId

_ spPageContextInfoで現在のユーザーのIDを取得します。これをお試しください。

0
Kaushal Khamar