コード例 #1
0
        public async Task <IActionResult> Register(RegisterViewModel model, string returnUrl = null)
        {
            // if(!IsPostBack)
            ViewData["ReturnUrl"] = returnUrl;
            string         message = "";
            var            Results = new Results();
            IdentityResult rs      = new IdentityResult();

            if (ModelState.IsValid)
            {
                CryptePass hash = new CryptePass();
                // model.Password = hash.getSHA1(model.Password);
                var customStor = new CustomStore(_connectionString);
                var user       = new ApplicationUser
                {
                    LoginName = model.UserName,
                    FullName  = model.FirstName + " " + model.MiddleName + " " + model.LastName,
                    Email     = model.Email,
                    Password  = hash.getSHA1(model.Password)
                };
                var result = customStor.ChkUser(model.UserName);
                if (result == 0)
                {
                    var results = customStor.CreatedUser(user);

                    if (results == 1)
                    {
                        _logger.LogInformation("User created a new account with password.");
                        // await _signInManager.SignInAsync(user, isPersistent: false);
                        Results.status      = "success";
                        Results.Description = "Đăng ký thành công,  tài khoản chờ xét duyệt";
                        message             = JsonConvert.SerializeObject(Results);
                    }
                    else
                    {
                        Results.status      = "fail";
                        Results.Description = "Đăng ký thất bại";
                        message             = JsonConvert.SerializeObject(Results);
                    }
                }
                else
                {
                    Results.status      = "fail";
                    Results.Description = "Username đã tồn tại trong hệ thống";
                    message             = JsonConvert.SerializeObject(Results);
                }
            }
            else
            {
                return(View(model));
            }
            return(Content(message));
        }
コード例 #2
0
        private async Task <SignInResult> MyCheckPasswordAsync(ApplicationUser appuser, string password)
        {
            if (appuser == null)
            {
                throw new Exception(nameof(appuser));
            }
            var error = await PreSignInCheck(appuser);

            if (error != null)
            {
                return(error);
            }
            CryptePass hash = new CryptePass();

            if (appuser.PasswordEx == hash.getSHA1(password))
            {
                var alwaysLockout = AppContext.TryGetSwitch("Microsoft.AspNetCore.Identity.CheckPasswordSignInAlwaysResetLockoutOnSuccess", out var enabled) && enabled;
                // Only reset the lockout when TFA is not enabled when not in quirks mode
                return(SignInResult.Success);
            }
            Logger.LogWarning(2, "User {userId} failed to provide the correct password.", await UserManager.GetUserIdAsync(appuser));
            return(SignInResult.Failed);
        }