Add configurable NTFS group name formatting
This commit is contained in:
@@ -56,6 +56,8 @@ namespace C4IT.LIAM
|
||||
private const string AdditionalConfigurationExcludePathsKey = "NtfsExcludePaths";
|
||||
private const string AdditionalConfigurationIncludePathsKey = "NtfsIncludePaths";
|
||||
private const string AdditionalConfigurationTraverseBoundaryPathKey = "NtfsTraverseBoundaryPath";
|
||||
private const string AdditionalConfigurationGroupNameSanitizeReplacementKey = "NtfsGroupNameSanitizeReplacement";
|
||||
private const string AdditionalConfigurationPreserveAdGroupNameCaseKey = "PreserveNtfsAdGroupNameCase";
|
||||
public readonly cNtfsBase ntfsBase = new cNtfsBase();
|
||||
public readonly cActiveDirectoryBase activeDirectoryBase = new cActiveDirectoryBase();
|
||||
private readonly Dictionary<string, HashSet<string>> publishedShareCache = new Dictionary<string, HashSet<string>>(StringComparer.OrdinalIgnoreCase);
|
||||
@@ -998,7 +1000,11 @@ namespace C4IT.LIAM
|
||||
groupGTag = GetRequiredCustomTag("Filesystem_GroupGlobalTag"),
|
||||
CanManagePermissionsForPath = IsPermissionManagedFolderPath,
|
||||
CanManageTraversePermissionsForPath = IsTraversePermissionManagedPath,
|
||||
forceStrictAdGroupNames = IsAdditionalConfigurationEnabled("ForceStrictAdGroupNames")
|
||||
forceStrictAdGroupNames = IsAdditionalConfigurationEnabled("ForceStrictAdGroupNames"),
|
||||
groupNameSanitizeReplacement = GetAdditionalConfigurationValueOrDefault(
|
||||
AdditionalConfigurationGroupNameSanitizeReplacementKey,
|
||||
Helper.DefaultGroupNameSanitizeReplacement),
|
||||
preserveAdGroupNameCase = IsAdditionalConfigurationEnabled(AdditionalConfigurationPreserveAdGroupNameCaseKey)
|
||||
};
|
||||
engine.traverseBoundaryPath = GetAdditionalConfigurationValue(AdditionalConfigurationTraverseBoundaryPathKey);
|
||||
|
||||
@@ -1032,6 +1038,17 @@ namespace C4IT.LIAM
|
||||
return rawValue.Trim();
|
||||
}
|
||||
|
||||
private string GetAdditionalConfigurationValueOrDefault(string key, string defaultValue)
|
||||
{
|
||||
if (AdditionalConfiguration == null || string.IsNullOrWhiteSpace(key))
|
||||
return defaultValue;
|
||||
|
||||
if (!AdditionalConfiguration.TryGetValue(key, out var rawValue))
|
||||
return defaultValue;
|
||||
|
||||
return rawValue == null ? string.Empty : rawValue.Trim();
|
||||
}
|
||||
|
||||
public bool IsPermissionManagedFolderPath(string path)
|
||||
{
|
||||
return IsPermissionManagedPath(path, eNtfsPathKind.Folder);
|
||||
|
||||
Reference in New Issue
Block a user