SharePoint 2010: добавление пользователя в группу из кода - PullRequest
2 голосов
/ 15 марта 2011

Я пытаюсь добавить пользователя в существующую группу со страницы входа в систему.Прямо сейчас у меня нет проблем с получением текущего пользователя от SPWeb.CurrentUser.Я могу просмотреть все текущие группы пользователей, но теперь у меня возникла проблема с добавлением этого пользователя в существующую группу.Я думаю, что мне нужно использовать SPRoleDefinition и SPRoleAssignment, но все, что я могу найти, - это как изменить разрешения для группы с помощью этих классов.Кто-нибудь знает, как я могу добавить этого пользователя в группу по имени группы?

Спасибо!

Ответы [ 3 ]

3 голосов
/ 15 марта 2011

Вы можете использовать эту функцию, чтобы добавить пользователя на текущий сайт.Вам необходимо передать имя группы и имя пользователя.

public void AddUsers(string groupname, string username)
{
   try
   {
         SPSecurity.RunWithElevatedPrivileges(delegate()
         {
               // Gets a new security context using SHAREPOINT\system
               using (SPSite site = new SPSite(SPContext.Current.Site.Url))
               {
                     using (SPWeb thisWeb = site.OpenWeb())
                     {
                          thisWeb.AllowUnsafeUpdates = true;
                          SPUser Name = thisWeb.EnsureUser(username);
                          thisWeb.Groups[groupname].AddUser(Name);
                          thisWeb.AllowUnsafeUpdates = false;
                     }
                }
   });

  }

  catch (Exception ex)
   {
       //Log error here.
   }
}
1 голос
/ 15 марта 2011

Если вы пытаетесь добавить пользователя в группу, это должно работать:

SPUser currentUser = SPContext.Current.Web.CurrentUser;
SPGroup group = SPContext.Current.Web.SiteGroups["My Group Name"];
group.AddUser(currentUser);

http://msdn.microsoft.com/en-us/library/ms454048.aspx

1 голос
/ 15 марта 2011

Вы пробовали что-нибудь из этого ?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...