public ActionResult Register(RegistRequestDto request)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest("Invalid Request"));
            }

            //检查token权限
            var isAdmin = false;
            var user    = _authService.ParsingClaims(HttpContext.User.Claims, out var roles);

            if (roles.Contains("admin"))
            {
                isAdmin = true;
            }
            //注册管理员
            if (request.Role.ToLower().Contains("admin") && !isAdmin)
            {
                return(BadRequest("非授权用户,无法注册"));
            }

            //用户注册
            if (_authService.AddUserData(request) is null)
            {
                return(BadRequest("注册失败,检查是否已注册或其他注册信息"));
            }
            return(Ok("注册成功"));
        }
示例#2
0
        public UserModel AddUserData(RegistRequestDto request)
        {
            //rsa解密
            var code = SecurityRsa.Decrypt(request.Password);

            if (code is null)
            {
                return(null);
            }
            //查找用户
            if (_context.User.Find(request.UserName) != null)
            {
                return(null);
            }
            var newUser = new UserModel
            {
                UserName = request.UserName,
                Email    = request.Email,
                Password = SecurityAes.Encrypt(code),
                Role     = request.Role.ToLower()
            };

            _context.User.Add(newUser);
            _context.SaveChanges();
            return(newUser);
        }