![]() |
Re: Berechtigungen einer Datei setzen (jwscl)
Aber das stimmt immernoch nicht so:
Du verwendest : Value.SID hier. D.h. wenn die Instanz (Parameter) Value zerstört wird, dann wird die Instanz Value.SID ungültig, aber nicht nil! Wenn du TJwSecurityAccessControlEntry überall durch TJwDiscretionaryAccessControlEntryAllow ersetzt, dann compiliert es, oder willst du auch Zugriffsverweigerungen setzen?
Delphi-Quellcode:
procedure ..SetAccessControlEntry(Value : TJwSecurityAccessControlEntry);
begin if FAccessControlEntry <> Value then begin if Value is TJwDiscretionaryAccessControlEntryDeny then FAccessControlEntry := TJwDiscretionaryAccessControlEntryDeny.Create(Value as TJwDiscretionaryAccessControlEntryDeny) else if Value is TJwDiscretionaryAccessControlEntryAllow then FAccessControlEntry := TJwDiscretionaryAccessControlEntryAllow.Create(Value as TJwDiscretionaryAccessControlEntryAllow) else //gibt noch eine Vielzahl anderer raise Exception.Create('Unsupported ACE type: '+Value.ClassName); FAccessControlEntry.Flags := [afObjectInheritAce, afContainerInheritAce]; end; end; |
Re: Berechtigungen einer Datei setzen (jwscl)
Hi Christian,
Zitat:
Die Dateien liegen in A und haben in den ACE's den User. Nun wird anhand seines Anmeldenamens ein Verzeichnis in B erstellt, die ACE hinzugefügt und alle seine Dateien und Verzeichnisse aus A dort hinein kopiert. Somit ist sichergestellt das nach Abschluss der Aktion die Benutzer nur auf das Zugreifen können wo sie auch über die entsprechenden Rechte verfügen. Also nur "ALLOW". Das heißt der Vorgang "Rechte ermitteln, Zwischenspeichern, Verzeichnis erstellen, Rechte setzen" wird nur einmal ausgeführt. Sollte es währenddessen zu einem Fehler kommen, wird dies in ein log-file geschrieben. Deine Anregung ist jedoch Interessant, ich werde mich der Sache mal annehmen und per PN melden, dann machen wir die ADSI-Geschichte gleich mit. Gruß Jörg PS Das Wochenende ist gerettet und die neue Woche kann kommen. |
Re: Berechtigungen einer Datei setzen (jwscl)
Freut mich, dass es klappt.
Ich muss nur sicherstellen, dass die Benutzung korrekt ist. Das mit den SIDs ist leider eine Stolperfalle. Sobald du FileEntry.SecurityDescriptor löscht, wird die SID, die auch in FAccessControlEntry zugewiesen wurde, gelöscht. Und damit funktioniert FAccessControlEntry nicht mehr unbedingt korrekt. |
Re: Berechtigungen einer Datei setzen (jwscl) (ERLEDIGT)
Hat einiges an Umdenken erfordert, habe bisher die Units von Collin Wilson benutzt.
Die laufen unter W2K3 R2 irgendwie nicht so wie erwartet(und bisher benutzt), daher der Umstieg auf 'jwscl'. So wie ich das einschätzen kann: SUPER :thumb: :thumb: :thumb: Wie geschrieben, ich melde mich bei dir. ERLEDIGT!!! |
Re: Berechtigungen einer Datei setzen (jwscl)
Ich kenne diese Units, nachdem ich vor einigen Monaten darauf aufmerksam gemacht wurde. Daher gibt es keinen Einfluss von denen auf die JWSCL.
JWSCL versucht zudem alle C typischen Merkmale zu verstecken aber trotdem zur Verfügung zu stellen. Leider bin ich nicht perfekt und daher gibt es einige Probleme mit der Konsistenz. Aber ich führe eine interne Liste :) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:41 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz