예제 #1
0
        public RequestPasswordResponse ResetPasswordRequest(RequestPasswordRequest request)
        {
            var response = new RequestPasswordResponse();

            try
            {
                if (WebSecurity.UserExists(request.UserName))
                {
                    response.ResetPasswordToken = WebSecurity.GeneratePasswordResetToken(request.UserName, (int)request.Expires.TotalMinutes);
                    response.Message            = Resources.Account.PasswordRequestSuccess;
                    response.Success            = true;
                }
                else
                {
                    response.Message = Resources.Account.InvalidUserName;
                }
            }
            catch (Exception ex)
            {
                this.exceptionHandler.HandleException(ex);
                response.Message = Resources.Common.InternalServerError;
            }

            return(response);
        }
예제 #2
0
        public ActionResult RequestPassword(RequestPasswordViewModel model)
        {
            if (this.ModelState.IsValid)
            {
                var request = new RequestPasswordRequest
                {
                    UserName = model.UserName,
                    Expires  = TimeSpan.FromHours(2)
                };

                var response = this.authenticationService.ResetPasswordRequest(request);
                if (response.Success)
                {
                    var message = new MessageRequest(response.Email)
                    {
                        Subject     = "You have requested to reset your password",
                        Message     = response.ResetPasswordToken,
                        FromAddress = Email.DoNotReply
                    };

                    var messageResponse = this.messageService.SendMessage(message);

                    if (messageResponse.Success)
                    {
                        this.TempData["SuccessMessage"] = response.Message;
                        return(this.RedirectToAction("Login"));
                    }
                    else
                    {
                        this.ModelState.AddModelError(string.Empty, response.Message);
                    }
                }
                else
                {
                    this.ModelState.AddModelError(string.Empty, response.Message);
                }
            }

            return(this.View());
        }
예제 #3
0
        public RequestPasswordResponse ResetPasswordRequest(RequestPasswordRequest request)
        {
            var response = new RequestPasswordResponse();

            try
            {
                if (WebSecurity.UserExists(request.UserName))
                {
                    response.ResetPasswordToken = WebSecurity.GeneratePasswordResetToken(request.UserName, (int)request.Expires.TotalMinutes);
                    response.Status = StatusCode.OK;
                }
                else
                {
                    response.Status = StatusCode.Unauthorized;
                }
            }
            catch (Exception ex)
            {
                response.Status = StatusCode.InternalServerError;
                this.exceptionHandler.HandleException(ex);
            }

            return response;
        }
예제 #4
0
        public ActionResult RequestPassword(RequestPasswordViewModel model)
        {
            if (this.ModelState.IsValid)
            {
                var request = new RequestPasswordRequest
                {
                    UserName = model.UserName,
                    Expires = TimeSpan.FromHours(2)
                };

                var response = this.authenticationService.ResetPasswordRequest(request);
                if (response.Status == StatusCode.OK)
                {
                    var message = new MessageRequest
                    {
                        //ToAddress = string.Empty,
                        Subject = "You have requested to reset your password",
                        Message = response.ResetPasswordToken
                    };
                    this.messageService.SendMessage(message);
                    this.TempData["SuccessMessage"] = "You have successfully requested a new password. You should receive an email presently with instructions on how to reset your password. If you do not receive an email within 15 minutes, please check that you have the correct user name and try again.";
                    return this.RedirectToAction("Login");
                }
            }

            return this.View();
        }
 public RequestPasswordResponse ResetPasswordRequest(RequestPasswordRequest request)
 {
     throw new NotImplementedException();
 }
예제 #6
0
 public RequestPasswordResponse ResetPasswordRequest(RequestPasswordRequest request)
 {
     throw new NotImplementedException();
 }