Separate AD group description shortening
This commit is contained in:
@@ -539,11 +539,24 @@ namespace C4IT_IAM_SET
|
|||||||
null,
|
null,
|
||||||
Helper.MaxAdGroupNameLength,
|
Helper.MaxAdGroupNameLength,
|
||||||
$"Traverse fuer '{parent.FullName}'");
|
$"Traverse fuer '{parent.FullName}'");
|
||||||
|
var boundedTraverseDescriptionContext = Helper.GetBoundedAdGroupTemplateContext(
|
||||||
|
traverseGroupTemplate.DescriptionTemplate,
|
||||||
|
true,
|
||||||
|
relativePath,
|
||||||
|
sanitizedSegments,
|
||||||
|
folderName,
|
||||||
|
null,
|
||||||
|
Helper.MaxAdGroupDescriptionLength,
|
||||||
|
$"Traverse fuer '{parent.FullName}'",
|
||||||
|
"AD-Gruppenbeschreibung");
|
||||||
var adjustedTraverseSegments = boundedTraverseContext.SanitizedSegments ?? Array.Empty<string>();
|
var adjustedTraverseSegments = boundedTraverseContext.SanitizedSegments ?? Array.Empty<string>();
|
||||||
var adjustedTraverseRelativePath = adjustedTraverseSegments.Length > 0 ? string.Join("_", adjustedTraverseSegments) : string.Empty;
|
var adjustedTraverseRelativePath = adjustedTraverseSegments.Length > 0 ? string.Join("_", adjustedTraverseSegments) : string.Empty;
|
||||||
var adjustedTraverseFolderName = boundedTraverseContext.FolderName;
|
var adjustedTraverseFolderName = boundedTraverseContext.FolderName;
|
||||||
|
var adjustedTraverseDescriptionSegments = boundedTraverseDescriptionContext.SanitizedSegments ?? Array.Empty<string>();
|
||||||
|
var adjustedTraverseDescriptionRelativePath = adjustedTraverseDescriptionSegments.Length > 0 ? string.Join("_", adjustedTraverseDescriptionSegments) : string.Empty;
|
||||||
|
var adjustedTraverseDescriptionFolderName = boundedTraverseDescriptionContext.FolderName;
|
||||||
var traverseNameTemplate = Helper.ApplyTemplatePlaceholders(traverseGroupTemplate.NamingTemplate, true, adjustedTraverseRelativePath, adjustedTraverseSegments, adjustedTraverseFolderName);
|
var traverseNameTemplate = Helper.ApplyTemplatePlaceholders(traverseGroupTemplate.NamingTemplate, true, adjustedTraverseRelativePath, adjustedTraverseSegments, adjustedTraverseFolderName);
|
||||||
var traverseDescriptionTemplate = Helper.ApplyTemplatePlaceholders(traverseGroupTemplate.DescriptionTemplate, true, adjustedTraverseRelativePath, adjustedTraverseSegments, adjustedTraverseFolderName);
|
var traverseDescriptionTemplate = Helper.ApplyTemplatePlaceholders(traverseGroupTemplate.DescriptionTemplate, true, adjustedTraverseDescriptionRelativePath, adjustedTraverseDescriptionSegments, adjustedTraverseDescriptionFolderName);
|
||||||
|
|
||||||
string traverseRegex = null;
|
string traverseRegex = null;
|
||||||
try
|
try
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ namespace C4IT_IAM_Engine
|
|||||||
public static class Helper
|
public static class Helper
|
||||||
{
|
{
|
||||||
public const int MaxAdGroupNameLength = 64;
|
public const int MaxAdGroupNameLength = 64;
|
||||||
|
public const int MaxAdGroupDescriptionLength = 1024;
|
||||||
public const int MaxAdGroupLoopDigits = 3;
|
public const int MaxAdGroupLoopDigits = 3;
|
||||||
private const int MinLeadingRelativePathSegmentLength = 3;
|
private const int MinLeadingRelativePathSegmentLength = 3;
|
||||||
private const int MinSingleLeadingRelativePathSegmentLength = 2;
|
private const int MinSingleLeadingRelativePathSegmentLength = 2;
|
||||||
@@ -74,7 +75,8 @@ namespace C4IT_IAM_Engine
|
|||||||
string folderName,
|
string folderName,
|
||||||
IDictionary<string, string> replacementTags,
|
IDictionary<string, string> replacementTags,
|
||||||
int maxLength,
|
int maxLength,
|
||||||
string logContext)
|
string logContext,
|
||||||
|
string valueLabel = "AD-Gruppenname")
|
||||||
{
|
{
|
||||||
var effectiveSegments = (sanitizedSegments ?? Array.Empty<string>()).Where(i => i != null).ToArray();
|
var effectiveSegments = (sanitizedSegments ?? Array.Empty<string>()).Where(i => i != null).ToArray();
|
||||||
var effectiveFolderName = folderName ?? string.Empty;
|
var effectiveFolderName = folderName ?? string.Empty;
|
||||||
@@ -132,14 +134,14 @@ namespace C4IT_IAM_Engine
|
|||||||
{
|
{
|
||||||
cLogManager.DefaultLogger.LogEntry(
|
cLogManager.DefaultLogger.LogEntry(
|
||||||
LogLevels.Warning,
|
LogLevels.Warning,
|
||||||
$"AD-Gruppenname gekuerzt ({logContext}): '{result.OriginalValue}' ({GetMeasuredTemplateLength(result.OriginalValue)}) -> '{result.FinalValue}' ({GetMeasuredTemplateLength(result.FinalValue)}), Strategie: {result.Strategy}, Limit: {maxLength}.");
|
$"{valueLabel} gekuerzt ({logContext}): '{result.OriginalValue}' ({GetMeasuredTemplateLength(result.OriginalValue)}) -> '{result.FinalValue}' ({GetMeasuredTemplateLength(result.FinalValue)}), Strategie: {result.Strategy}, Limit: {maxLength}.");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (measuredValue.Length > maxLength)
|
if (measuredValue.Length > maxLength)
|
||||||
{
|
{
|
||||||
cLogManager.DefaultLogger.LogEntry(
|
cLogManager.DefaultLogger.LogEntry(
|
||||||
LogLevels.Warning,
|
LogLevels.Warning,
|
||||||
$"AD-Gruppenname ueberschreitet weiterhin das sichere Limit ({logContext}): '{result.FinalValue}' ({measuredValue.Length}), Limit: {maxLength}.");
|
$"{valueLabel} ueberschreitet weiterhin das sichere Limit ({logContext}): '{result.FinalValue}' ({measuredValue.Length}), Limit: {maxLength}.");
|
||||||
}
|
}
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
|
|||||||
@@ -208,20 +208,34 @@ namespace C4IT_IAM_Engine
|
|||||||
Helper.MaxAdGroupNameLength,
|
Helper.MaxAdGroupNameLength,
|
||||||
$"{template.Type}/{template.Scope} fuer '{newFolderPath}'");
|
$"{template.Type}/{template.Scope} fuer '{newFolderPath}'");
|
||||||
|
|
||||||
var adjustedSegments = boundedNameContext.SanitizedSegments ?? Array.Empty<string>();
|
var boundedDescriptionContext = Helper.GetBoundedAdGroupTemplateContext(
|
||||||
var adjustedRelativePath = adjustedSegments.Length > 0 ? string.Join("_", adjustedSegments) : string.Empty;
|
template.DescriptionTemplate,
|
||||||
var adjustedFolderName = boundedNameContext.FolderName;
|
template.Type != SecurityGroupType.Traverse,
|
||||||
|
relativePath,
|
||||||
|
sanitizedSegments,
|
||||||
|
folderName,
|
||||||
|
replacementTags,
|
||||||
|
Helper.MaxAdGroupDescriptionLength,
|
||||||
|
$"{template.Type}/{template.Scope} fuer '{newFolderPath}'",
|
||||||
|
"AD-Gruppenbeschreibung");
|
||||||
|
|
||||||
template.NamingTemplate = Helper.ApplyTemplatePlaceholders(template.NamingTemplate, template.Type != SecurityGroupType.Traverse, adjustedRelativePath, adjustedSegments, adjustedFolderName)
|
var adjustedNameSegments = boundedNameContext.SanitizedSegments ?? Array.Empty<string>();
|
||||||
|
var adjustedNameRelativePath = adjustedNameSegments.Length > 0 ? string.Join("_", adjustedNameSegments) : string.Empty;
|
||||||
|
var adjustedNameFolderName = boundedNameContext.FolderName;
|
||||||
|
var adjustedDescriptionSegments = boundedDescriptionContext.SanitizedSegments ?? Array.Empty<string>();
|
||||||
|
var adjustedDescriptionRelativePath = adjustedDescriptionSegments.Length > 0 ? string.Join("_", adjustedDescriptionSegments) : string.Empty;
|
||||||
|
var adjustedDescriptionFolderName = boundedDescriptionContext.FolderName;
|
||||||
|
|
||||||
|
template.NamingTemplate = Helper.ApplyTemplatePlaceholders(template.NamingTemplate, template.Type != SecurityGroupType.Traverse, adjustedNameRelativePath, adjustedNameSegments, adjustedNameFolderName)
|
||||||
.ReplaceTags(customTags).ReplaceTags(tags)
|
.ReplaceTags(customTags).ReplaceTags(tags)
|
||||||
.ToUpper();
|
.ToUpper();
|
||||||
|
|
||||||
template.DescriptionTemplate = Helper.ApplyTemplatePlaceholders(template.DescriptionTemplate, template.Type != SecurityGroupType.Traverse, adjustedRelativePath, adjustedSegments, adjustedFolderName)
|
template.DescriptionTemplate = Helper.ApplyTemplatePlaceholders(template.DescriptionTemplate, template.Type != SecurityGroupType.Traverse, adjustedDescriptionRelativePath, adjustedDescriptionSegments, adjustedDescriptionFolderName)
|
||||||
.ReplaceTags(customTags).ReplaceTags(tags)
|
.ReplaceTags(customTags).ReplaceTags(tags)
|
||||||
.ToUpper();
|
.ToUpper();
|
||||||
|
|
||||||
|
|
||||||
template.WildcardTemplate = Helper.ApplyTemplatePlaceholders(template.WildcardTemplate, template.Type != SecurityGroupType.Traverse, adjustedRelativePath, adjustedSegments, adjustedFolderName)
|
template.WildcardTemplate = Helper.ApplyTemplatePlaceholders(template.WildcardTemplate, template.Type != SecurityGroupType.Traverse, adjustedNameRelativePath, adjustedNameSegments, adjustedNameFolderName)
|
||||||
.ReplaceTags(customTags).ReplaceTags(tags)
|
.ReplaceTags(customTags).ReplaceTags(tags)
|
||||||
.ToUpper();
|
.ToUpper();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user