private void Initialize(string user, string pass, bool update) { var bytes = Encoding.UTF8.GetBytes(user + ":" + pass); var base64 = Convert.ToBase64String(bytes); var g = new AuthenticationHeaderValue("Basic", base64); HttpClient.DefaultRequestHeaders.Authorization = g; if (update) { UserPasswordManager.Set(user, pass); } _initialized = true; }
public static void AddPasswordManager(List <Password> passwords) { using (GNAEntities context = new GNAEntities()) { CurrentUser.user = context.Users.FirstOrDefault(x => x.id == CurrentUser.user.id); foreach (var passInfo in passwords) { byte[] passwordByte = ASCIIEncoding.ASCII.GetBytes(passInfo.LoginPassword); byte[] protectedPassByte = ProtectedData.Protect(passwordByte, null, DataProtectionScope.CurrentUser); string protectedPassword = ASCIIEncoding.ASCII.GetString(protectedPassByte); UserPasswordManager passwordManager = new UserPasswordManager() { user_password = protectedPassByte, account_website = passInfo.LoginUrl, user_email = passInfo.LoginUsername }; CurrentUser.user.UserPasswordManager.Add(passwordManager); } context.SaveChanges(); } }
public override Task <PasswordResetResponseDTO> Reset(PasswordResetRequestDTO request, ServerCallContext context) { return(Task.Run(() => { PasswordResetResponseDTO response = new PasswordResetResponseDTO(); var fac = UserModuleFactory.GetUserModuleInstance(); if (fac == null) { response.RetCode = "0500"; response.RetMsg = "系统错误"; return response; } string newPwd = request.NewPwd; string validateCode = request.ValidateCode; if (request.EncodeType.ToLower() == "base64") { request.NewPwd = xUtils.Base64ToBase58(request.NewPwd); } if (!xUtils.RsaDecrypt(request.NewPwd, out newPwd)) { response.RetCode = "0400"; response.RetMsg = "新密码解密失败"; return response; } if (request.ValidateType == PasswordResetRequestDTO.Types.IdentityValidateType.OldPasswordValidation) { if (request.EncodeType.ToLower() == "base64") { request.ValidateCode = xUtils.Base64ToBase58(request.ValidateCode); } if (!xUtils.RsaDecrypt(request.ValidateCode, out validateCode)) { //return new ApiResult { retCode = "0400", retMsg = "旧密码解密失败" }; response.RetCode = "0400"; response.RetMsg = "旧密码解密失败"; return response; } } IUser user = fac.GetUserByCode(request.UserCode); if (user == null) { response.RetMsg = "用户账户[{request.UserCode}]未注册"; response.RetCode = "0400"; return response; } PasswordType passwordType = (PasswordType)request.PwdType; var validateType = (IdentityValidateType)request.ValidateType; IIdentityVerification verification = IdentityVerificationFactory.GetVerification(validateType, user, passwordType, validateCode); if (verification == null) { response.RetCode = "0400"; response.RetMsg = "指定的身份验证方式不正确"; return response; } IPasswordManager pwdmgt = fac.GetPasswordManager(); PasswordManagerArgs arg = new PasswordManagerArgs { AlterSource = xUtils.GetClientSource(request.ClientSource), NewPassword = newPwd, PwdManager = pwdmgt, PwdType = passwordType, Remarks = string.Format("通过{0}修改", validateType.ToString()), UserId = user.UserId, Use_Place = request.ClientSystem, Verification = verification }; string datasource = string.Concat(xUtils.GetClientSource(request.ClientSource), "-", validateType, "-重置密码"); UserPasswordManager manager = new UserPasswordManager(arg); if (!manager.Alter(datasource, datasource)) { response.RetMsg = manager.PromptInfo.CustomMessage; response.RetCode = "0500"; return response; } response.RetCode = "0000"; response.RetMsg = "ok"; return response; })); }
public JsonResult ResetPassword(PasswordResetModel model) { Log.Debug(model.ToLineText()); var fac = UserModuleFactory.GetUserModuleInstance(); if (fac == null) { return(Json(FuncResult.FailResult("系统错误", 500))); } string newPwd = model.New_Pwd; string validateCode = model.ValidateCode; if (model.PwdType == (int)PasswordType.支付密码) { if (!xUtils.RsaDecryptPayPwd(model.New_Pwd, out newPwd)) { return(Json(FuncResult.FailResult("新密码解密失败", (int)ApiStatusCode.DECRYPT_PASSWORD_FAIL))); } if (model.ValidateType == (int)IdentityValidateType.旧密码验证) { if (!xUtils.RsaDecryptPayPwd(model.ValidateCode, out validateCode)) { return(Json(FuncResult.FailResult("旧密码解密失败", (int)ApiStatusCode.DECRYPT_PASSWORD_FAIL))); } } } IUser user = fac.GetUserByCode(Package.UserCode); if (user == null) { return(FailResult("用户账号[" + Package.UserCode + "]不存在")); } PasswordType passwordType = (PasswordType)model.PwdType; var validateType = (IdentityValidateType)model.ValidateType; IIdentityVerification verification = IdentityVerificationFactory.GetVerification(validateType, user, passwordType, validateCode); if (verification == null) { return(Json(FuncResult.FailResult("指定的身份验证方式不正确", 409))); } IPasswordManager pwdmgt = fac.GetPasswordManager(user); PasswordManagerArgs arg = new PasswordManagerArgs { AlterSource = xUtils.GetClientSource(this.Package.ClientSource), NewPassword = newPwd, Pwd_Manager = pwdmgt, Pwd_Type = passwordType, Remarks = string.Format("通过{0}修改", validateType.ToString()), UserId = user.UserId, Use_Place = this.Package.ClientSystem, Verification = verification }; FuncResult result = new FuncResult(); UserPasswordManager manager = new UserPasswordManager(arg); result.Success = manager.Alter(); result.Message = result.Success ? null : manager.PromptInfo.CustomMessage; result.StatusCode = result.Success ? 1 : (int)manager.PromptInfo.ResultType; return(Json(result)); }
public ResponseResult Reset(PasswordResetRequestDTO request) { var fac = UserModuleFactory.GetUserModuleInstance(); if (fac == null) { return(Fail("系统错误")); } string newPwd = request.NewPwd; string validateCode = request.ValidateCode; if (request.EncodeType.ToLower() == "base64") { request.NewPwd = xUtils.Base64ToBase58(request.NewPwd); } if (!xUtils.RsaDecrypt(request.NewPwd, out newPwd)) { return(Fail("新密码解密失败")); } if (request.ValidateType == (int)IdentityValidateType.旧密码验证) { if (request.EncodeType.ToLower() == "base64") { request.ValidateCode = xUtils.Base64ToBase58(request.ValidateCode); } if (!xUtils.RsaDecrypt(request.ValidateCode, out validateCode)) { return(Fail("旧密码解密失败")); } } IUser user = fac.GetUserByCode(request.UserCode); if (user == null) { return(Fail("用户账户[{request.UserCode}]未注册", "0400")); } PasswordType passwordType = (PasswordType)request.PwdType; var validateType = (IdentityValidateType)request.ValidateType; IIdentityVerification verification = IdentityVerificationFactory.GetVerification(validateType, user, passwordType, validateCode); if (verification == null) { return(Fail("指定的身份验证方式不正确", "0400")); } IPasswordManager pwdmgt = fac.GetPasswordManager(); PasswordManagerArgs arg = new PasswordManagerArgs { AlterSource = xUtils.GetClientSource(request.Client.Type), NewPassword = newPwd, PwdManager = pwdmgt, PwdType = passwordType, Remarks = string.Format("通过{0}修改", validateType.ToString()), UserId = user.UserId, Use_Place = request.Client.System, Verification = verification }; string datasource = string.Concat(xUtils.GetClientSource(request.Client.Type), "-", validateType, "-重置密码"); UserPasswordManager manager = new UserPasswordManager(arg); if (!manager.Alter(datasource, datasource)) { return(Fail(manager.PromptInfo.CustomMessage)); } return(Success()); }