SharePoint 2010:从代码向组添加用户

时间:2011-03-14 21:01:28

标签: sharepoint sharepoint-2010

我正在尝试将用户从自定义登录页面添加到现有组。现在,从SPWeb.CurrentUser获取当前用户没有问题。我可以查看所有当前用户组,但现在我在将此用户添加到现有组时遇到问题。我想我需要使用SPRoleDefinition和SPRoleAssignment,但我能找到的是如何使用这些类更改组的权限。有谁知道如何通过groupname将此用户添加到组中?

谢谢!

3 个答案:

答案 0 :(得分:3)

您可以使用此功能将用户添加到当前站点。您需要传递组名称和用户名。

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 :(得分:1)

您是否尝试过任何this

答案 2 :(得分:1)

如果您尝试将用户添加到群组,则应该可以:

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