wskickahn 发表于 2015-9-27 10:58:56

SharePoint 服务器端对象模型操作用户组(创建/添加/删除)

  摘要:几个操作SharePoint用户组的方法,已经测试通过,但是没有提升权限,如果没有权限的人操作,需要提升权限(提权代码附后)。大家需要的话,可以参考下,写在这里也给自己留个备份~~
  //创建用户组
  public static bool CreatSPGroup(string strGroupName, string strGroupDescription)
  {
  try
  {
  using (SPSite site = new SPSite(SiteUrl))
  {
  using (SPWeb web = site.OpenWeb())
  {
  
  web.AllowUnsafeUpdates = true;
  SPUser defaultUser = web.SiteUsers.GetByID(Convert.ToInt32(defaultUserID));
  web.SiteGroups.Add(strGroupName, defaultUser, null, strGroupDescription);
  web.AllowUnsafeUpdates = false;
  return true;
  
  }
  }
  }
  catch
  {
  return false;
  }
  }
  
  //添加用户到用户组
  public static bool AddUserToSPGroup(string strGroupName, string strLoginName, string strUserName, string strEmail, string notes)
  {
  try
  {
  using (SPSite site = new SPSite(SiteUrl))
  {
  using (SPWeb web = site.OpenWeb())
  {
  web.AllowUnsafeUpdates = true;
  SPGroup cGroup = web.SiteGroups.GetByName(strGroupName);
  cGroup.AddUser(strLoginName, strEmail, strUserName, notes);
  web.AllowUnsafeUpdates = false;
  return true;
  }
  }
  }
  catch
  {
  return false;
  }
  }
  
  //从用户组删除用户
  public static bool DelUserFromSPGroup(string strLoginName, string strGroupName)
  {
  try
  {
  using (SPSite site = new SPSite(SiteUrl))
  {
  using (SPWeb web = site.OpenWeb())
  {
  web.AllowUnsafeUpdates = true;
  SPGroup cGroup = web.SiteGroups.GetByName(strGroupName);
  cGroup.Users.Remove(strLoginName);
  web.AllowUnsafeUpdates = false;
  return true;
  }
  }
  }
  catch
  {
  return false;
  }
  }
  
  //提升权限
  SPSecurity.RunWithElevatedPrivileges (delegate()
  {
  //此处放置需要以系统账号身份运行的代码
  });
  特别注意:
  1 如果代码要操作WSS的内容,必须创建新的SPSite和SPWeb实例,利用RunWithElevatedPrivilege
  2 不能直接调用上下文对象(SPContext),上下文对象始终以当前用户身份运行
页: [1]
查看完整版本: SharePoint 服务器端对象模型操作用户组(创建/添加/删除)