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"]就行