public ActionResult CreateUser([Bind(Include = "Username,FullName,ContactNumber,MCRNo,Role,IsActive,EffectiveStartDate,EffectiveEndDate")] PHSUser user) { if (!IsUserAuthenticated()) { return(RedirectToLogin()); } SetBackURL("Index"); string message = string.Empty; using (var userManager = new UserManager(GetLoginUser())) { string tempPassword = PasswordManager.Generate(); user.Password = tempPassword; var newUserCreated = userManager.AddUser(GetLoginUser(), user, out message); if (!newUserCreated) { SetViewBagError(message); SetBackURL("Index"); return(View()); } SetTempDataMessage(user.Username + " has been created successfully with password " + tempPassword); SetBackURL("Index"); return(RedirectToAction("Index")); } }
public void CanGeneratePasswords() { var pm = new PasswordManager(); var passwords = new List <string>(); for (var i = 0; i < 100; i++) { var p = pm.Generate(); if (!pm.GetPolicy(p).Ok) { Console.WriteLine("Pass:"******"z"))); Assert.True(passwords.Any(_ => _.Contains("q"))); Assert.True(passwords.Any(_ => _.Contains("Z"))); Assert.True(passwords.Any(_ => _.Contains("Q"))); Assert.True(passwords.Any(_ => _.Contains("0"))); Assert.True(passwords.Any(_ => _.Contains("9"))); Assert.True(passwords.Any(_ => _.Contains("$"))); Assert.True(passwords.Any(_ => _.Contains("+"))); }
public ActionResult ResetPassword(String[] selectedusers) { if (!IsUserAuthenticated()) { return(RedirectToLogin()); } if (selectedusers == null || selectedusers.Length == 0) { SetTempDataMessage("No Selection made!"); Response.StatusCode = (int)HttpStatusCode.BadRequest; return(Json(new { Error = "No Selection made!" })); } string message = string.Empty; string tempPW = PasswordManager.Generate(); using (var userManager = new UserManager(GetLoginUser())) { bool isResetPassword = userManager.ResetPassword(GetLoginUser(), selectedusers, tempPW, out message); if (!isResetPassword) { SetTempDataMessage(message); Response.StatusCode = (int)HttpStatusCode.BadRequest; return(Json(new { Error = message })); } } SetTempDataMessage("Password has been reset to " + tempPW); return(Json(new { Success = "Success" })); }
public void ResetPasswordTest_Success() { string username = "******"; string stuff = "abcde12345"; PHSUser user = new PHSUser() { Username = username, FullName = "tester 123", Password = stuff, IsActive = true, EffectiveStartDate = DateTime.Now, EffectiveEndDate = DateTime.Now.AddDays(1), Role = Constants.User_Role_Volunteer_Code }; string message = string.Empty; bool saveResult = _target.AddUser(_loginuser, user, out message); Assert.IsTrue(saveResult); Assert.AreEqual(string.Empty, message); PHSUser loginUser = _target.IsAuthenticated(username, stuff, out message); Assert.IsNotNull(loginUser); string newPassword = PasswordManager.Generate(); string[] selectedUsers = new string[1]; selectedUsers[0] = username; bool resetResult = _target.ResetPassword(_loginuser, selectedUsers, newPassword, out message); Assert.IsTrue(resetResult); Assert.AreEqual(string.Empty, message); loginUser = _target.IsAuthenticated(username, newPassword, out message); Assert.IsNotNull(loginUser); }