/// <summary> /// 超级管理员登录 /// </summary> /// <param name="account"></param> /// <param name="passWord"></param> /// <param name="_result"></param> /// <returns></returns> private QssResult AdministratorLogin(string password, out string _result) { var result = WebConfigService.GetAdministrator(out AdministratorModel admin); if (result == QssResult.Fail) { // 账号不存在 _result = "账号或密码错误!"; return(QssResult.Fail); } if (result == QssResult.Error) { _result = "系统出现严重错误,请查看系统日志记录!"; return(QssResult.Error); } // 正确获取到一个账号且密码正确 if (admin.Password == QssMD5Helper.QssGetMd5(admin.Account, password)) { // 处理登录请求 LoginHandle(QssEnvironment.AdministratorAccount, QssRoleType.Administrator.ToString()); QssLogHelper.Log("登录成功", "管理员登录成功!", QssLogType.Info); // 跳转到管理员页面 _result = "/Users/ManageSysNews"; return(QssResult.Success); } // 密码错误 QssLogHelper.Log("管理员密码错误", "用户以管理员的方式登录,账号正确,但是密码错误! 错误密码为:" + password, QssLogType.Warn); _result = "账号或密码错误!"; return(QssResult.Fail); }
/// <summary> /// 初始化系统 /// </summary> /// <returns>结果</returns> public string DefaultSystem() { if (DbSession.RoleDal.GetEntities(p => true).Any()) { // 已经初始化 return("初始化系统成功!"); } // 初始化角色 var list = new List <Role> { new Role { Name = QssRoleType.Administrator.ToString() }, new Role { Name = QssRoleType.SysAdmin.ToString() }, new Role { Name = QssRoleType.Admin.ToString() }, new Role { Name = QssRoleType.User.ToString() } }; DbSession.RoleDal.AddRange(list); // 初始化网站配置 string email = "*****@*****.**"; var webConfig = new WebConfig() { // 初始化超级管理员 Account = QssEnvironment.AdministratorAccount, Email = email, Password = QssMD5Helper.QssGetMd5(QssEnvironment.AdministratorAccount, "123456"), Tel = "18227592876" }; DbSession.WebConfigDal.Add(webConfig); try { // 保存配置 DbSession.SaveChanges(); // 成功 QssLogHelper.Log("初始化系统成功", "初始化系统成功!", QssLogType.Info); return($"初始化系统成功!<br />超级管理员账号:{QssEnvironment.AdministratorAccount}<br />密码:123456 <br/>邮箱:{email}<br />电话:18227592876<br/>请登录之后尽快修改密码、邮箱和电话."); } catch (Exception ex) { // 保存失败 QssLogHelper.Log("初始化系统失败", "初始化系统失败,失败原因: " + ex.Message, QssLogType.Fatal); return("初始化系统失败,失败原因: " + ex.Message); } }
/// <summary> /// 修改密码 /// </summary> /// <param name="oldPasswd">旧密码</param> /// <param name="passwd">新密码</param> /// <returns></returns> public QssResult ChangePassword(string oldPasswd, string passwd, out string _result) { QssResult result = GetAdministrator(out AdministratorModel admin); // 获取成功 if (result == QssResult.Success) { // 旧密码正确 if (admin.Password == QssMD5Helper.QssGetMd5(admin.Account, oldPasswd)) { try { var config = DbSession.WebConfigDal.GetEntities(p => true).FirstOrDefault(); config.Password = QssMD5Helper.QssGetMd5(admin.Account, passwd); DbSession.WebConfigDal.Update(config); // 保存新密码 DbSession.SaveChanges(); // 修改密码成功 _result = "修改密码成功!"; return(QssResult.Success); } catch (Exception exception) { // 保存失败 QssLogHelper.Log("修改密码错误", "超级管理员在修改密码时保存新密码出现错误!错误原因: " + exception.Message, QssLogType.Error, exception); _result = "修改密码失败!请重试."; return(QssResult.Fail); } } // 旧密码错误 QssLogHelper.Log("管理员密码错误", "超级管理员在修改密码,但是旧密出现错误! ", QssLogType.Warn); _result = "旧密码错误!登录已被注销."; return(QssResult.Error); } // 没有正确获取到管理员 _result = "系统出现严重错误!请查看日志."; return(QssResult.Error); }