Esempio n. 1
0
        public IActionResult Add([FromBody] AddAdminUser user)
        {
            var userExists = _db.GetList <AdminUser>(DataBase.Collections.Users).FirstOrDefault(x => x.Username.Equals(user.Username, StringComparison.CurrentCultureIgnoreCase));

            var context = (HttpContext.Items["User"] as AdminUser);

            if (context.Role != Role.Admin)
            {
                return(BadRequest(new { message = "Only admin can add accounts." }));
            }

            if (userExists != null)
            {
                return(BadRequest(new { message = "Username already exists." }));
            }

            var adminUser = new AdminUser()
            {
                Username = user.Username,
                Password = user.Password,
                Role     = user.Role
            };

            _db.Save(adminUser, DataBase.Collections.Users);


            return(Ok(new { message = "User successfully added" }));
        }
Esempio n. 2
0
        public async Task <MSGReturnModels> AddAdminUser(AddAdminUser token)
        {
            var errMSG      = "";
            var returnModel = new MSGReturnModels();

            try
            {
                var localtoken = ConfigurationManager.AppSettings["Token"];
                if (localtoken != token.token)
                {
                    returnModel.ErrMSG = "token不对,你没有权限增加管理员用户";
                    return(returnModel);
                }
                var adminUserName = ConfigurationManager.AppSettings["UserName"];
                var adminPassWord = ConfigurationManager.AppSettings["PassWord"];
                var isReset       = ConfigurationManager.AppSettings["IsReset"];

                if (isReset == "false")
                {
                    var user = new ApplicationUser()
                    {
                        UserName = adminUserName, Email = adminUserName, SystemCode = "Admin", Active = true, Remark = "管理员用户"
                    };
                    IdentityResult result = UserManager.Create(user, adminPassWord);

                    if (!result.Succeeded)
                    {
                        returnModel.ErrMSG = "创建用户失败" + string.Join(",", result.Errors);
                        return(returnModel);
                    }
                }
                else
                {
                    var user =
                        UserManager.Users
                        .FirstOrDefault(p => p.Email == adminUserName && p.UserName == adminUserName);
                    var updateUser = new ApplicationUser()
                    {
                        UserName = adminUserName, Email = adminUserName
                    };
                    UserManager.Delete(user);
                    IdentityResult result = UserManager.Create(user, adminPassWord);
                    returnModel.ErrMSG = "";
                    if (!result.Succeeded)
                    {
                        returnModel.ErrMSG = "创建用户失败" + string.Join(",", result.Errors);
                        return(returnModel);
                    }
                }
            }
            catch (Exception ex)
            {
                returnModel.ErrMSG     = "创建用户失败" + ex.Message;
                returnModel.SequenceId = null;
                return(returnModel);
            }
            return(returnModel);
        }
Esempio n. 3
0
        public async Task <IActionResult> CreateAdminUser([FromBody] AddAdminUser model)
        {
            if (_user.GetRole() != 0)
            {
                return(Ok(new
                {
                    Success = false,
                    Message = "权限不足,请联系管理员使用启用该操作",
                    StatusCode = 200
                }));
            }
            var result = await _sysUserServices.CreateAdmin(model.Username, model.Password);

            _logger.LogInformation($"admin {_user.ID} 正在添加管理员账户");
            return(Ok(new
            {
                Success = result,
                this.HttpContext.Response.StatusCode
            }));
        }