http://www.cnblogs.com/gzh4455/archive/2012/03/26/2417854.html
private bool RemoveUserFromGroup(string sGoupName, string sUserLoginName) { bool res = false; try { SPWeb web = SPContext.Current.Web; SPGroup oGroup = web.SiteGroups[sGoupName]; SPUser oUser = GetSPUser(sUserLoginName); if (oUser != null) { web.AllowUnsafeUpdates = true; oGroup.RemoveUser(oUser); oGroup.Update(); res = true; web.AllowUnsafeUpdates = false; } } catch (Exception ex) { string sMessage = ex.Message; //throw; } return res; } private bool RemoveUserFromGroup(SPGroup oGroup, SPUser oUser) { bool res = false; try { SPWeb web = SPContext.Current.Web; if (oUser != null&&oGroup!=null) { web.AllowUnsafeUpdates = true; oGroup.RemoveUser(oUser); oGroup.Update(); res = true; web.AllowUnsafeUpdates = false; } } catch (Exception ex) { string sMessage = ex.Message; //throw; } return res; } private SPUser GetSPUser(string sLoginName) { SPUser oUser = null; try { if (!string.IsNullOrEmpty(sLoginName)) { oUser = SPContext.Current.Web.EnsureUser(sLoginName); } } catch (Exception ex) { string sMessage = ex.Message; } return oUser; } private void RemoveUser(string sLoginName) { SPUser oUser = GetSPUser(sLoginName); if (oUser!=null) { SPGroupCollection groups = oUser.Groups; if (groups!=null&&groups.Count>0) { foreach (SPGroup g in groups) { RemoveUserFromGroup(g, oUser); } } } } private bool AddUserIntoGroup(string sGroupName, string sUserLoginName) { bool res = false; try { SPWeb web = SPContext.Current.Web; web.AllowUnsafeUpdates = true; SPGroup oGroup = web.SiteGroups[sGroupName]; SPUser oUser = GetSPUser(sUserLoginName); if (oUser != null) { oGroup.AddUser(oUser); oGroup.Update(); res = true; } web.AllowUnsafeUpdates = false; } catch (Exception ex) { string sMessage = ex.Message; //throw; } return res; } private string FilterSPUserString(string str) { if (string.IsNullOrEmpty(str)) { return str; } if (str.IndexOf(";#") > 0) { str = str.Substring(str.LastIndexOf(";#") + 2); } return str; } private bool CreateSiteGroup(string sGroupName, string sGroupDescription) { bool res = false; using (SPWeb oWebsiteRoot = SPContext.Current.Site.RootWeb) { oWebsiteRoot.AllowUnsafeUpdates = true; SPGroupCollection collGroups = oWebsiteRoot.SiteGroups; string sLoginName = SPContext.Current.Web.CurrentUser.LoginName; SPUser oUser = oWebsiteRoot.Users[sLoginName]; SPMember oMember = oWebsiteRoot.Users[sLoginName]; collGroups.Add(sGroupName, oMember, oUser, "Description"); oWebsiteRoot.AllowUnsafeUpdates = false; res = true; } return res; } /// <summary> /// 给组赋权限 /// </summary> /// <param name="sGroupName"></param> /// <param name="sPermissionLever"></param> /// <returns></returns> private bool SetGroupPermission(string sGroupName, string sPermissionLever) { bool res = false; using (SPWeb oWebsiteRoot = SPContext.Current.Site.RootWeb) { oWebsiteRoot.AllowUnsafeUpdates = true; SPRoleAssignment roleAssignment = new SPRoleAssignment(oWebsiteRoot.SiteGroups[sGroupName]); roleAssignment.RoleDefinitionBindings.Add(oWebsiteRoot.RoleDefinitions[sPermissionLever]); oWebsiteRoot.Update(); oWebsiteRoot.AllowUnsafeUpdates = false; res = true; } return res; } private void DeleteSiteGroup(SPWeb web, string groupName) { web.AllowUnsafeUpdates = true; SPGroupCollection groups = web.SiteGroups; groups.Remove(groupName); web.Update(); web.AllowUnsafeUpdates = false; }
时间: 2024-10-12 06:54:14