コード例 #1
0
        public async Task <IActionResult> ConfirmEmail(string userId, string code)
        {
            if (userId == null || code == null)
            {
                return(View("Error"));
            }

            var user = await _userManager.FindByIdAsync(userId);

            if (user == null)
            {
                return(View("Error"));
            }

            var result = await _userManager.ConfirmEmailAsync(user, code);

            if (!result.Succeeded || _adminOptions.ConfirmationRecipient != MailAddressConfirmationRecipient.Admin)
            {
                return(View(result.Succeeded ? "ConfirmEmail" : "Error"));
            }

            var mailModel = new AccountConfirmedModel(_localizerFactory, _applicationOptions, Url.Action(nameof(Login)));
            await _emailSender.SendEmailAsync(user.Email, mailModel);

            return(View(result.Succeeded ? "ConfirmEmail" : "Error"));
        }
コード例 #2
0
        public async Task <IActionResult> ConfirmUser(int userId)
        {
            using (var uow = _identityDataService.StartUnitOfWork())
            {
                var user = uow.UserRepository.Get(userId);
                if (user == null)
                {
                    return(RedirectToAction(nameof(ManageUsers)));
                }

                user.EmailConfirmed = true;
                uow.UserRepository.Update(user);
                uow.Commit();

                var mailModel = new AccountConfirmedModel(_localizerFactory, _applicationOptions, Url.Action(nameof(AccountController.Login), "Account"));
                await _emailSender.SendEmailAsync(user.Email, mailModel);
            }
            return(RedirectToAction(nameof(ManageUser), new { userId }));
        }