首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 企业软件 > 行业软件 >

SharePoint2010中表单证验用户怎样用代码加入用户组

2013-03-01 
SharePoint2010中表单验证用户怎样用代码加入用户组SharePoint2010中,表单验证用户是存在MembershipProvid

SharePoint2010中表单验证用户怎样用代码加入用户组
SharePoint2010中,表单验证用户是存在MembershipProvider里面的,但是用户组是存在SPWeb.AllUsers里面的。
现在我使用表单验证新添加一个用户,想把他直接分配给用户组。

使用界面去操作是没问题的,但是用代码不知道怎么解决。请各位大大赐教!!!
[解决办法]
SPSecurity.RunWithElevatedPrivileges(delegate()
            {
                using (SPWeb wb = new SPSite(siteURL).OpenWeb())
                {
                    SPList list = wb.Lists["人员信息"];
                    foreach (SPListItem spli in list.Items)
                    {
                        try
                        {
                            if (!string.IsNullOrEmpty(spli["EMAIL"].ToString()) && !string.IsNullOrEmpty(spli["登录账号"].ToString()))
                            {
                                wb.Groups["组名"].AddUser(spli["登录账号"].ToString(), spli["EMAIL"].ToString(), spli["姓名"].ToString(), "");
                            }
                        }
                        catch (Exception ex)
                        {
                            string s = ex.Message;
                        }
                    }
                }
            });


此方法将列表中的用户加入到“组名”的用户组中
[解决办法]
这有一个更改用户Role(Permission),不知道对你有没有帮助
http://social.msdn.microsoft.com/Forums/en/sharepointdevelopment/thread/5e85c68f-079a-4921-82ab-db689cd97d5b
[解决办法]
如果你的用户从来没有登陆过SharePoint,那么是不会出现在web.AllUsers里面的


这种情况下你需要用web.EnsureUser("userName")的方式获取到对应的SPUser对象

另外,你没必要循环遍历获取用户或者用户组,直接用web.SiteGroups["groupName"]就行

热点排行