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),上下文对象始终以当前用户身份运行

posted @ 2013-08-13 17:49  霖雨  阅读(1917)  评论(1编辑  收藏  举报