Create NTFS traverse groups lazily
This commit is contained in:
@@ -656,6 +656,29 @@ namespace C4IT_IAM_SET
|
||||
continue;
|
||||
}
|
||||
|
||||
if (PathsEqual(parent.FullName, sourcePath) && string.IsNullOrWhiteSpace(traverseGroupName))
|
||||
{
|
||||
DefaultLogger.LogEntry(LogLevels.Debug, $"Skip own Traverse-Gruppe fuer '{parent.FullName}' because no child permission or traverse group needs it.");
|
||||
if (IsTraverseBoundaryPath(parent.FullName))
|
||||
break;
|
||||
|
||||
parent = parent.Parent;
|
||||
if (parent != null)
|
||||
{
|
||||
currentTraverseLevel = hasTraverseBoundary
|
||||
? currentTraverseLevel + 1
|
||||
: DataArea.GetRelativePath(parent.FullName, baseFolder).Count(n => n == Path.DirectorySeparatorChar);
|
||||
if (!hasTraverseBoundary)
|
||||
defaultTraverseLoopIndex--;
|
||||
DefaultLogger.LogEntry(LogLevels.Debug, $"Neue Ebene (lvl) nach Lazy-Skip: {currentTraverseLevel}");
|
||||
}
|
||||
else
|
||||
{
|
||||
DefaultLogger.LogEntry(LogLevels.Debug, "Parent nach Lazy-Skip ist null.");
|
||||
}
|
||||
continue;
|
||||
}
|
||||
|
||||
DefaultLogger.LogEntry(LogLevels.Debug, $"Hole ACL für Ordner: {parent.FullName}");
|
||||
AuthorizationRuleCollection ACLs = null;
|
||||
try
|
||||
|
||||
Reference in New Issue
Block a user