我正在尝试将用户从自定义登录页面添加到现有组。现在,从SPWeb.CurrentUser获取当前用户没有问题。我可以查看所有当前用户组,但现在我在将此用户添加到现有组时遇到问题。我想我需要使用SPRoleDefinition和SPRoleAssignment,但我能找到的是如何使用这些类更改组的权限。有谁知道如何通过groupname将此用户添加到组中?
谢谢!
答案 0 :(得分:3)
您可以使用此功能将用户添加到当前站点。您需要传递组名称和用户名。
public void AddUsers(string groupname, string username)
{
try
{
SPSecurity.RunWithElevatedPrivileges(delegate()
{
// Gets a new security context using SHAREPOINT\system
using (SPSite site = new SPSite(SPContext.Current.Site.Url))
{
using (SPWeb thisWeb = site.OpenWeb())
{
thisWeb.AllowUnsafeUpdates = true;
SPUser Name = thisWeb.EnsureUser(username);
thisWeb.Groups[groupname].AddUser(Name);
thisWeb.AllowUnsafeUpdates = false;
}
}
});
}
catch (Exception ex)
{
//Log error here.
}
}
答案 1 :(得分:1)
您是否尝试过任何this?
答案 2 :(得分:1)
如果您尝试将用户添加到群组,则应该可以:
SPUser currentUser = SPContext.Current.Web.CurrentUser;
SPGroup group = SPContext.Current.Web.SiteGroups["My Group Name"];
group.AddUser(currentUser);