ok, alles klar. was genau hast du im vtv nicht, was du in der
db brauchst? Schreibst du in eine column deines vtv alle berechtigungen rein?
Dann willst du wohl nicht von oben nach unten durchgehen, sondern von unten nach oben. ich mach mal ne zeichnung, zum selber durchüberlegen:
Code:
1 - Berechtigungen A,B,C
1.1 - Berechtigungen A,B
1.1.1 - Berechtigung A
1.1.2 - Berechtigung B
1.2 - Berechtigungen C
1.2.1 - Berechtigung C
2
Wenn sich dein modell so darstellen lässt, dann würde ich so vorgehen:
Angenommen: Insert der Berechtigung "D" als node 1.2.2 - Pseudocode:
Delphi-Quellcode:
1. CurrNode := AddNode(Parent=1.2,Value="D");
2. CurrNode := CurrNode.Parent;
3. if assigned(currnode) then CurrNode.AddRight("D") else break;
4. goto 2;
Damit hast du dann beim Node 1.2 die berechtigungen C,D und bei Node 1 A,B,C,D.