Esempio n. 1
0
        /// <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);
        }
Esempio n. 2
0
        /// <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);
            }
        }
Esempio n. 3
0
        /// <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);
        }