Frage:
Wie kann man sicherstellen, dass Ordnerrechte in zwei Datenbanken oder für verschiedene Gruppen in verschiedenen Ordnern exakt gleich gesetzt sind?
Antwort:
Schnell und verlässlich lassen sich Gruppen-Ordnerberechtigungen in der Administration nicht vergleichen, da in der Vielzahl der Berechtigungen (Häkchen in der Administration) leicht ein Unterschied übersehen wird.
Ein guter Weg ist die Abfrage der Berechtigungen in der Datenbank mit der nachstehenden Abfrage:
SELECT Groups.GroupID,
Groups.Groupname,
Groups.Description as GroupDescription,
Projects.Name as Ordnername,
Projects.Path,
GroupRights.Typeas PermissionValue
FROM Groups INNERJOIN
GroupRights ON Groups.GroupID = GroupRights.GroupID INNERJOIN
Projects ON GroupRights.ProjectID = Projects.ProjectID
orderby Groupname
Exemplarisch sieht das Abfrageergebnis folgendermaßen im SQL Management Studio aus:
Hier ist z. B. gut zu erkennen, dass die Gruppe „Projekte“ in den beiden Verzeichnissen „Holz“ und „Normteile“ exakt gleiche Ordnerrechte hat.
Dieses Vorgehen ist insbesondere gut zu verwenden, wenn eine Datenbank als leere Datenbank erstellt und per .cex-Datei mit Anpassungen befüllt worden ist.
Im Übrigen ist der abstrakte Werte „PermissionValue“ exakt der Zahlenwert, über den per API die Rechte am Ordner gesetzt werden können.