Пример #1
0
        public static async Task InitUsers()
        {
            if (inited)
            {
                return;
            }
            await userManager.CreateAsync(new UserInfo
            {
                UserName  = "******",
                Email     = "*****@*****.**",
                Name      = "admin",
                Privilege = 1
            });

            await userManager.CreateAsync(new UserInfo
            {
                UserName  = "******",
                Email     = "*****@*****.**",
                Name      = "teacher",
                Privilege = 2
            });

            await userManager.CreateAsync(new UserInfo
            {
                UserName  = "******",
                Email     = "*****@*****.**",
                Name      = "ta",
                Privilege = 3
            });

            await userManager.CreateAsync(new UserInfo
            {
                UserName  = "******",
                Email     = "*****@*****.**",
                Name      = "student",
                Privilege = 4
            });

            await userManager.CreateAsync(new UserInfo
            {
                UserName  = "******",
                Email     = "*****@*****.**",
                Name      = "black",
                Privilege = 5
            });

            inited = true;
        }
Пример #2
0
        public async Task Register([FromBody] RegisterModel model)
        {
            if (TryValidateModel(model))
            {
                await signInManager.SignOutAsync();

                var user = new UserInfo
                {
                    UserName  = model.UserName,
                    Name      = model.Name,
                    Email     = model.Email,
                    Privilege = 4
                };
                var result = await userManager.CreateAsync(user, model.Password);

                if (!result.Succeeded)
                {
                    throw result.Errors.Any() ?
                          new BadRequestException(result.Errors.Select(i => i.Description).Aggregate((accu, next) => accu + "\n" + next))
                        : new BadRequestException();
                }
                else
                {
                    await signInManager.PasswordSignInAsync(model.UserName, model.Password, false, false);
                }
            }
            else
            {
                var errors = ModelState.SelectMany(i => i.Value.Errors, (i, j) => j.ErrorMessage).ToList();
                throw errors.Any() ?
                      new BadRequestException(errors.Aggregate((accu, next) => accu + "\n" + next))
                    : new BadRequestException();
            }
        }