public async Task TestInitPassword() { var settingService = new Mock <ISettingService>(); var syslogService = new Mock <ISysLogService>(); var ctrl = new AdminController(settingService.Object, syslogService.Object); var model = new InitPasswordVM { password = "", confirmPassword = "" }; var act = await ctrl.InitPassword(model); Assert.IsNotNull(act); var vr = act as ViewResult; Assert.IsNotNull(vr); var msg = vr.ViewData["ErrorMessage"]; Assert.AreEqual("密码不能为空", msg); act = await ctrl.InitPassword(new InitPasswordVM { password = "******", confirmPassword = "" }); Assert.IsNotNull(act); vr = act as ViewResult; Assert.IsNotNull(vr); msg = vr.ViewData["ErrorMessage"]; Assert.AreEqual("密码不能为空", msg); act = await ctrl.InitPassword(new InitPasswordVM { password = "", confirmPassword = "******" }); Assert.IsNotNull(act); vr = act as ViewResult; Assert.IsNotNull(vr); msg = vr.ViewData["ErrorMessage"]; Assert.AreEqual("密码不能为空", msg); model = new InitPasswordVM { password = "******", confirmPassword = "******" }; act = await ctrl.InitPassword(model); Assert.IsNotNull(act); vr = act as ViewResult; Assert.IsNotNull(vr); msg = vr.ViewData["ErrorMessage"]; Assert.AreEqual("密码最长不能超过50位", msg); act = await ctrl.InitPassword(new InitPasswordVM { password = "******", confirmPassword = "******" }); Assert.IsNotNull(act); vr = act as ViewResult; Assert.IsNotNull(vr); msg = vr.ViewData["ErrorMessage"]; Assert.AreEqual("输入的两次密码不一致", msg); settingService.Setup(s => s.HasAdminPassword()).ReturnsAsync(true); act = await ctrl.InitPassword(new InitPasswordVM { password = "******", confirmPassword = "******" }); Assert.IsNotNull(act); vr = act as ViewResult; Assert.IsNotNull(vr); msg = vr.ViewData["ErrorMessage"]; Assert.AreEqual("密码已经设置过,不需要再次设置", msg); settingService.Setup(s => s.HasAdminPassword()).ReturnsAsync(false); settingService.Setup(s => s.SetAdminPassword(It.IsAny <string>())).ReturnsAsync(false); act = await ctrl.InitPassword(new InitPasswordVM { password = "******", confirmPassword = "******" }); Assert.IsNotNull(act); vr = act as ViewResult; Assert.IsNotNull(vr); msg = vr.ViewData["ErrorMessage"]; Assert.AreEqual("初始化密码失败", msg); settingService.Setup(s => s.SetAdminPassword(It.IsAny <string>())).ReturnsAsync(true); act = await ctrl.InitPassword(new InitPasswordVM { password = "******", confirmPassword = "******" }); Assert.IsNotNull(act); var rr = act as RedirectResult; Assert.IsNotNull(rr); Assert.AreEqual("InitPasswordSuccess", rr.Url); }
public async Task <IActionResult> InitPassword([FromBody] InitPasswordVM model) { var password = model.password; var confirmPassword = model.confirmPassword; if (string.IsNullOrEmpty(password) || string.IsNullOrEmpty(confirmPassword)) { return(Json(new { message = "密码不能为空", success = false })); } if (password.Length > 50 || confirmPassword.Length > 50) { return(Json(new { message = "密码最长不能超过50位", success = false })); } if (password != confirmPassword) { return(Json(new { message = "输入的两次密码不一致", success = false })); } if (await _settingService.HasAdminPassword()) { return(Json(new { message = "密码已经设置过,不需要再次设置", success = false })); } var result = await _settingService.SetAdminPassword(password); if (result) { await _sysLogService.AddSysLogAsync(new Data.Entity.SysLog { LogTime = DateTime.Now, LogType = Data.Entity.SysLogType.Normal, LogText = $"管理员密码初始化成功" }); return(Json(new { success = true })); } else { return(Json(new { message = "初始化密码失败", success = false })); } }
public async Task <IActionResult> InitPassword([FromBody] InitPasswordVM model) { var password = model.password; var confirmPassword = model.confirmPassword; if (string.IsNullOrEmpty(password) || string.IsNullOrEmpty(confirmPassword)) { return(Json(new { message = "密码不能为空", success = false })); } if (password.Length > 50 || confirmPassword.Length > 50) { return(Json(new { message = "密码最长不能超过50位", success = false })); } if (password != confirmPassword) { return(Json(new { message = "输入的两次密码不一致", success = false })); } if (await _settingService.HasSuperAdmin()) { return(Json(new { message = "密码已经设置过,不需要再次设置", success = false })); } var result = await _settingService.SetSuperAdminPassword(password); if (result) { TinyEventBus.Instance.Fire(EventKeys.INIT_SUPERADMIN_PASSWORD_SUCCESS); return(Json(new { success = true })); } else { return(Json(new { message = "初始化密码失败", success = false })); } }