Browse Source

Reduce `StringEncryptionStep` code.

pull/10467/head
maliming 5 years ago
parent
commit
83f7c6c63d
No known key found for this signature in database GPG Key ID: 96224957E51C89E
  1. 27
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/MicroserviceServiceStringEncryptionStep.cs
  2. 13
      framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/RandomizeStringEncryptionStep.cs

27
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/MicroserviceServiceStringEncryptionStep.cs

@ -7,33 +7,12 @@ namespace Volo.Abp.Cli.ProjectBuilding.Templates
{
public class MicroserviceServiceStringEncryptionStep : RandomizeStringEncryptionStep
{
public override void Execute(ProjectBuildContext context)
protected override string GetRandomPassPhrase(ProjectBuildContext context)
{
var appSettings = context.Files
.Where(x => !x.IsDirectory && x.Name.EndsWith("appSettings.json", StringComparison.InvariantCultureIgnoreCase))
.Where(x => x.Content.IndexOf("StringEncryption", StringComparison.InvariantCultureIgnoreCase) >= 0)
.ToList();
const string defaultPassPhrase = "gsKnGZ041HLL4IM8";
var randomPassPhrase = FindDefaultPassPhrase(context) ?? GetRandomString(defaultPassPhrase.Length);
foreach (var appSetting in appSettings)
{
appSetting.NormalizeLineEndings();
var appSettingLines = appSetting.GetLines();
for (var i = 0; i < appSettingLines.Length; i++)
{
if (appSettingLines[i].Contains("DefaultPassPhrase") && appSettingLines[i].Contains(defaultPassPhrase))
{
appSettingLines[i] = appSettingLines[i].Replace(defaultPassPhrase, randomPassPhrase);
}
}
appSetting.SetLines(appSettingLines);
}
return FindDefaultPassPhrase(context) ?? base.GetRandomPassPhrase(context);
}
protected static string FindDefaultPassPhrase(ProjectBuildContext context)
protected virtual string FindDefaultPassPhrase(ProjectBuildContext context)
{
var directoryInfo = new DirectoryInfo(context.BuildArgs.OutputFolder);
do

13
framework/src/Volo.Abp.Cli.Core/Volo/Abp/Cli/ProjectBuilding/Templates/RandomizeStringEncryptionStep.cs

@ -7,6 +7,8 @@ namespace Volo.Abp.Cli.ProjectBuilding.Templates
{
public class RandomizeStringEncryptionStep: ProjectBuildPipelineStep
{
protected const string DefaultPassPhrase = "gsKnGZ041HLL4IM8";
public override void Execute(ProjectBuildContext context)
{
var appSettings = context.Files
@ -14,8 +16,7 @@ namespace Volo.Abp.Cli.ProjectBuilding.Templates
.Where(x => x.Content.IndexOf("StringEncryption", StringComparison.InvariantCultureIgnoreCase) >= 0)
.ToList();
const string defaultPassPhrase = "gsKnGZ041HLL4IM8";
var randomPassPhrase = GetRandomString(defaultPassPhrase.Length);
var randomPassPhrase = GetRandomPassPhrase(context);
foreach (var appSetting in appSettings)
{
appSetting.NormalizeLineEndings();
@ -23,9 +24,9 @@ namespace Volo.Abp.Cli.ProjectBuilding.Templates
var appSettingLines = appSetting.GetLines();
for (var i = 0; i < appSettingLines.Length; i++)
{
if (appSettingLines[i].Contains("DefaultPassPhrase") && appSettingLines[i].Contains(defaultPassPhrase))
if (appSettingLines[i].Contains("DefaultPassPhrase") && appSettingLines[i].Contains(DefaultPassPhrase))
{
appSettingLines[i] = appSettingLines[i].Replace(defaultPassPhrase, randomPassPhrase);
appSettingLines[i] = appSettingLines[i].Replace(DefaultPassPhrase, randomPassPhrase);
}
}
@ -33,11 +34,11 @@ namespace Volo.Abp.Cli.ProjectBuilding.Templates
}
}
protected static string GetRandomString(int length)
protected virtual string GetRandomPassPhrase(ProjectBuildContext context)
{
const string letters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
var builder = new StringBuilder();
for (var i = 0; i < length; i++)
for (var i = 0; i < DefaultPassPhrase.Length; i++)
{
builder.Append(letters[RandomHelper.GetRandom(0, letters.Length)]);
}

Loading…
Cancel
Save