public override async Task <UserDto> Create(CreateUserDto input) { CheckCreatePermission(); byte[] ba = Encoding.Default.GetBytes(String.Format("scrt-key-{0}", input.UserName)); var hexArrayString = ba.Select(prop => prop.ToString("X2")).ToArray(); string hexString = string.Join("", hexArrayString); input.Password = StringCipher.OpenSSLDecrypt(input.Password, hexString) ?? input.Password; var user = ObjectMapper.Map <User>(input); user.TenantId = input.TenantId ?? AbpSession.TenantId; user.Password = _passwordHasher.HashPassword(user, input.Password); user.IsEmailConfirmed = true; CheckErrors(await _userManager.CreateAsync(user)); if (input.RoleNames != null) { CheckErrors(await _userManager.SetRoles(user, input.RoleNames)); } CurrentUnitOfWork.SaveChanges(); return(MapToEntityDto(user)); }
private async Task <AbpLoginResult <Tenant, User> > GetLoginResultAsync(string usernameOrEmailAddress, string password, string tenancyName) { byte[] ba = Encoding.Default.GetBytes(String.Format("scrt-key-{0}", usernameOrEmailAddress)); var hexArrayString = ba.Select(prop => prop.ToString("X2")).ToArray(); string hexString = string.Join("", hexArrayString); password = StringCipher.OpenSSLDecrypt(password, hexString) ?? password; var loginResult = await _logInManager.LoginAsync(usernameOrEmailAddress, password, tenancyName); switch (loginResult.Result) { case AbpLoginResultType.Success: return(loginResult); default: throw _abpLoginResultTypeHelper.CreateExceptionForFailedLoginAttempt(loginResult.Result, usernameOrEmailAddress, tenancyName); } }