zoukankan      html  css  js  c++  java
  • SPGroup 和SPUser的常用操作

    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;
        }
  • 相关阅读:
    Python基础之zip和enumerate
    python3中map()函数用法
    python列表推导式
    python面试常问的几个内置装饰器:@staticmethod、@classmethod和@property
    linux的解压与压缩
    python中 s f各种转移字符含义
    fixture 调用函数名传参(转载)
    3.css选择器
    实战有感3
    实战有感2-轮播图
  • 原文地址:https://www.cnblogs.com/lishidefengchen/p/6114103.html
Copyright © 2011-2022 走看看