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>)
{
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(";#") > )
{
str = str.Substring(str.LastIndexOf(";#") + );
}
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;
}

最新文章

  1. C++资料收集&amp;整理
  2. ODI中web service介绍
  3. “我爱淘”冲刺阶段Scrum站立会议7
  4. 集成环境wamp环境下 memcached的安装
  5. Js 循环结构
  6. DevExpress LookUpEdit 下拉框基本操作
  7. 同一台电脑启动两个或多个tomcat
  8. OpenCV MFC 模块间通信
  9. Windows 8.1 正式版微软官方原版镜像下载(新增10/17新版下载)
  10. MongoDB Driver 简单的CURD
  11. Spring之ORM模块
  12. 二分法与二叉树的 Java 实现
  13. js 学习之路10:try异常处理和第一个js小程序
  14. 漫画|Linux 并发、竞态、互斥锁、自旋锁、信号量都是什么鬼?(转)
  15. Java单元测试(Junit+Mock+代码覆盖率)
  16. openlayers3 实现测距 面积
  17. 【Spring Security】四、自定义页面
  18. npm 淘宝镜像
  19. leetcode1003
  20. spring boot 项目配置字符编码

热门文章

  1. Gym - 100801G: Graph (贪心+set+拓扑)(好题)
  2. [转] jquery操作select(取值,设置选中)
  3. 电子商务网站SQL注入项目实战一例(转载)
  4. 《Kubernetes权威指南第2版》学习(三)RC学习
  5. 二 vue环境搭建
  6. 使用 EntityFramework后把一个对象序列化成json字符串引起循环引用的问题
  7. 值得细细品读的URL资源
  8. Windchill 基本业务对象
  9. JavaScript学习系列5 ---ES6中的var, let 和const
  10. debian系Linux中文系统目录改为英文目录的解决方法