c# – 在sharepoint中按组获取用户

前端之家收集整理的这篇文章主要介绍了c# – 在sharepoint中按组获取用户前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
任何人都可以告诉我如何使用sharepoint获取某个组内的用户

所以我有一个包含用户和组的列表.我想检索该列表中的所有用户.是否有一种区分列表项是组还是用户方法.如果它是一个组,我需要获得该组内的所有用户.

im使用c#,并尝试通过使其成为一个控制台应用程序来做这些事情.

im新的sharepoint和im真的跳进了这个游泳池的深层,任何帮助将是高度赞赏.

干杯..

解决方法

您需要知道的第一件事是,当您有一个包含用户/组字段的列表时,您必须了解其类型.在项目值中有一个用户或组时,字段类型为SPFieldUserValue.但是,如果该字段具有多个用户/组选择,则字段类型为SPFieldUserValueCollection.
我会假设您的字段允许单个用户/组选择,并且您已经具有以下对象:
SPSite site;
SPWeb web;
SPListItem item;

现在,我们将检查一个用户/组的字段值,并检索一个用户列表,它们是哪个类型(字段的名字是“Users”).

SPFieldUserValue usersField = new SPFieldUserValue(mainWeb,item["Users"].ToString());
bool isUser = SPUtility.IsLoginValid(site,usersField.User.LoginName);
List<SPUser> users = new List<SPUser>();

if (isUser)
{
    // add a single user to the list
    users.Add(usersField.User);
}
else
{
    SPGroup group = web.Groups.GetByID(usersField.LookupId);

    foreach (SPUser user in group.Users)
    {
        // add all the group users to the list
        users.Add(user.User);
    }
}

我希望它能帮助你.

韩国社交协会,佩德罗·何塞·巴蒂斯塔

猜你在找的C#相关文章