1

SharePoint ポータルのすべてのユーザーを一覧表示する次のコードがあります。

using (Microsoft.SharePoint.SPSite mSite = 新しい Microsoft.SharePoint.SPSite(GetCurrentSiteURL())) {

        Microsoft.SharePoint.SPWeb rootWeb = mSite.RootWeb;
        for (int i = 0; i < rootWeb.AllUsers.Count; i++)
        {
            int j = 0;
            char[] anyOf = new char[] { '#', '+' };
            rootWeb.AllUsers[i].

            if (rootWeb.AllUsers[i].LoginName.IndexOfAny(new char[] { '#', '+' }) == -1)//if(!rootWeb.AllUsers[i].IsDomainGroup)   

            {
                box1.Items.Insert(j, rootWeb.AllUsers[i].LoginName);
                j += 1;
            }
        }

現在ログインしているユーザーのみを一覧表示することはできますか?

4

1 に答える 1

2

SharePoint には、現在ログオンしているユーザーを特定する手段はありません。これは、SharePoint がHTTPデータの送信に使用するためです。ステートレス プロトコルであるためHTTP、ユーザーが数秒前に SiteCollection からサイトを要求しただけであっても、ユーザーが現在オンラインであるかどうかはわかりません。
このようなことを実現したい場合は、ログオンしたユーザーを追跡する を作成し、それをファームにインストールする必要があります (サーバーの GAC に をWebPart展開できる場合)。権限と API が制限されているため、Farm-Solutionこれはまったく機能しません。 さらに、プロパティにはすべての登録ユーザーが表示されますが、オンライン ステータスに関する情報は得られません。SandBoxed-Solutions
AllUsersRootWeb

于 2013-03-29T20:23:26.960 に答える