/// <summary> /// required implementation /// </summary> /// <param name="usernames">a list of usernames</param> /// <param name="roleNames">a list of roles</param> public override void AddUsersToRoles(string[] usernames, string[] roleNames) { foreach (var user in usernames) { foreach (var role in roleNames) { var UserID = db.Users.Single(m => m.ID == user); var RoleID = db.Roles.Single(m => m.ID == role); var g = new UsersRoles() { Users = UserID, Roles = RoleID }; db.UsersRoles.Add(g); db.SaveChanges(); } } }
public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status) { var args = new ValidatePasswordEventArgs(username, password, true); OnValidatingPassword(args); if (args.Cancel) { status = MembershipCreateStatus.InvalidPassword; return(null); } if (!Regex.IsMatch(email, "^([a-zA-Z0-9_\\-\\.]+)@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.)|(([a-zA-Z0-9\\-]+\\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})$")) { status = MembershipCreateStatus.InvalidEmail; return(null); } if (RequiresUniqueEmail && GetUserNameByEmail(email) != string.Empty) { status = MembershipCreateStatus.DuplicateEmail; return(null); } var user = GetUser(username, true); if (user == null) { string MD5Pass = GetMd5Hash(password); var userObj = new User { ID = username, Name = username, Pass = MD5Pass, Email = email, Question = passwordQuestion, Answer = passwordAnswer, LastLogin = DateTime.Now }; db.Users.Add(userObj); db.SaveChanges(); status = MembershipCreateStatus.Success; return(GetUser(username, true)); } status = MembershipCreateStatus.DuplicateUserName; return(null); }