Пример #1
0
        public IActionResult ResetPassword(string u)
        {
            var model = new ChangePassword2DTO();

            model.Code = u;
            return(View(model));
        }
Пример #2
0
        public IActionResult ResetPassword(ChangePassword2DTO model)
        {
            visual_fim_user fim_user = null;

            try
            {
                fim_user = this._context.table_visual_fim_user.Where(w => w.basic_uid == DataEncryptor.Decrypt(model.Code)).FirstOrDefault();
                if (fim_user == null)
                {
                    return(RedirectToAction("Logout", "Auth"));
                }
            }
            catch (Exception ex)
            {
                return(RedirectToAction("Logout", "Auth"));
            }

            if (ModelState.IsValid)
            {
                var msg  = ReturnMessage.ChangePasswordFail;
                var code = ReturnCode.Error;
                ViewBag.Message    = msg;
                ViewBag.ReturnCode = code;
                try
                {
                    fim_user.basic_userPassword = Cryptography.encrypt(model.Password);
                    fim_user.cu_pwdchangeddate  = DateUtil.Now();
                    fim_user.cu_pwdchangedby    = fim_user.basic_uid;
                    fim_user.cu_pwdchangedloc   = getClientIP();
                    fim_user.system_actived     = true;
                    _context.SaveChanges();
                    var result_ldap = _providerldap.ChangePwd(fim_user, model.Password, _context);
                    if (result_ldap.result == true)
                    {
                        writelog(LogType.log_reset_password, LogStatus.successfully, IDMSource.LDAP, fim_user.basic_uid);
                    }
                    else
                    {
                        writelog(LogType.log_reset_password, LogStatus.failed, IDMSource.LDAP, fim_user.basic_uid, log_exception: result_ldap.Message);
                    }

                    var result_ad = _provider.ChangePwd(fim_user, model.Password, _context);
                    if (result_ad.result == true)
                    {
                        writelog(LogType.log_reset_password, LogStatus.successfully, IDMSource.AD, fim_user.basic_uid);
                    }
                    else
                    {
                        writelog(LogType.log_reset_password, LogStatus.failed, IDMSource.AD, fim_user.basic_uid, log_exception: result_ad.Message);
                    }

                    writelog(LogType.log_reset_password, LogStatus.successfully, IDMSource.VisualFim, fim_user.basic_uid);

                    msg                = ReturnMessage.ChangePasswordSuccess;
                    code               = ReturnCode.Success;
                    ViewBag.Message    = msg;
                    ViewBag.ReturnCode = code;
                    return(RedirectToAction("ResetPasswordCompleted", new { code = code, msg = msg }));
                }
                catch (Exception ex)
                {
                    writelog(LogType.log_reset_password, LogStatus.failed, IDMSource.VisualFim, fim_user.basic_uid, log_exception: ex.Message);
                }
            }
            return(View(model));
        }