Как получить список всех пользователей на веб-сайте SharePoint 2013 (SPWeb)? - PullRequest
0 голосов
/ 02 января 2019

Я работаю над приложением SharePoint 2013 , и у меня возникла следующая проблема. В моем коде у меня есть что-то вроде этого:

List<string> urlList = IndirizziProtocolliSQL.GetListaIndirizziSiti(dbConfig);

foreach (string currentUrl in urlList)
{
    Debug.Print("Current url: " + currentUrl);

    SPSecurity.RunWithElevatedPrivileges(delegate ()
    {
        using (SPSite oSiteCollection = new SPSite(currentUrl))
        {
            using (SPWeb oWebsite = oSiteCollection.OpenWeb())
            {
                // RETRIEVE THE LIST OF USERS OF THE CURRENT SITE
            }
        }
    });
}

Как видите, я снова получаю список сайтов в приложении SharePoint (работает нормально).

Для текущего сайта (представленного переменной SPWeb oWebSite ) мне нужно получить список всех пользователей, зарегистрированных на этом сайте.

Как я могу это сделать? Я пытался найти какой-то метод \ собственность на объекте oWebsite, но не могу найти решение

1 Ответ

0 голосов
/ 02 января 2019

Это очень просто.Вам даже не нужно открывать SPWeb.

List<string> urlList = IndirizziProtocolliSQL.GetListaIndirizziSiti(dbConfig);

foreach (string currentUrl in urlList)
{
    Debug.Print("Current url: " + currentUrl);

    SPSecurity.RunWithElevatedPrivileges(delegate ()
    {
        using (SPSite oSiteCollection = new SPSite(currentUrl))
        {
            # Gets the collection of all users that belong to the site collection.
            SPUserCollection users = oSiteCollection.RootWeb.SiteUsers;
        }
    });
}
...