我在会员提供商中使用createuser()
创建了一个特定角色和域的用户。但是在用户管理器中它显示消息data could not be loaded
并且它没有显示我在用户管理器列表中创建的用户。
我让用户使用GetUsersInRole()
并将用户绑定到网格控件,我创建的用户显示在网格中。
为什么它没有显示在用户管理器列表中;以及如何解决这个问题?
答案 0 :(得分:0)
请检查下一个代码以添加用户:
public void AddUser(string domain, string firstName, string lastName, string email,string comment, string telephoneNumber, string jobTitle)
{
string userName = string.Concat(firstName, lastName);
userName = string.Format(@"{0}\{1}", domain, userName);
string newPassword = Membership.GeneratePassword(10, 3);
try
{
if (!User.Exists(userName))
{
Membership.CreateUser(userName, newPassword, email);
// Edit the profile information
Sitecore.Security.Accounts.User user = Sitecore.Security.Accounts.User.FromName(userName, true);
Sitecore.Security.UserProfile userProfile = user.Profile;
userProfile.FullName = string.Format("{0} {1}", firstName, lastName);
userProfile.Comment = comment;
// Assigning the user profile template
userProfile.SetPropertyValue("ProfileItemId", "{AE4C4969-5B7E-4B4E-9042-B2D8701CE214}");
// Have modified the user template to also contain telephone number and job title.
userProfile.SetCustomProperty("TelephoneNumber", telephoneNumber);
userProfile.SetCustomProperty("JobTitle", jobTitle);
userProfile.Save();
}
}
catch (Exception ex)
{
Sitecore.Diagnostics.Log.Error(string.Format("Error in Client.Project.Security.UserMaintenance (AddUser): Message: {0}; Source:{1}", ex.Message, ex.Source), this);
}
}
这里
答案 1 :(得分:0)
如果您使用此代码而不是createUser()
,则此代码应该有效:
var fullName = Context.Domain.GetFullName(model.Email);
var user = Sitecore.Security.Accounts.User.Create(fullName, model.Password);
user.Profile.Email = model.Email;
user.Profile.Save();