GetDirectories() und Permissions

25/06/2008 - 13:55 von mjmnothanks | Report spam
Hi,

Mein Programm liest mit GetDirectories() den kompletten
Verzeichnisbaum aus.
Daß es einen Fehler gibt, wenn keine ausreichenden Rechte für den
jeweiligen Startordner vorhanden sind hab ich in der Beschreibung
gefunden.
Aber ob die Funktion dementsprechend automatisch nur Ordner auflistet,
auf die der User von vorneherein per Definition Zugriff hat, steht
dort nicht.

Ich möchte den Baum nàmlich _ausschließlich_ aus Ordnern aufbauen, in
denen Lese- und Schreibrechte gegeben sind. Informationen zu den
anderen Ordnern brauche ich nicht - deshalb genügt es völlig, wenn
GetDirectories sich entsprechend "blind" verhalten sollte.

Falls nicht, wie teste ich effektiv die Permissions für die einzelnen
Ordner?
Schreibe ich einfach testweise eine kleine Dummy-Datei in jedes
Verzeichnis und lösche sie sofort wieder oder kann ich die
Fehlermeldung GetDirectories() ausnutzen?


Ich entwickle hier an einem recht "offenen" System und kann das nicht
wirklich haarklein austesten.
 

Lesen sie die antworten

#1 Sascha Bajonczak
25/06/2008 - 15:04 | Warnen spam
Hi,

mit

Directory.GetAccessControl();

Hast du die Möglichkeit den Sicherheitskontext einzusehen bzw abzufragen.
Das gibt dir auch die Möglichkeit die Berechtigungen zu setzen nach bedarf.

aber beim setzen der BErechtigung für das Directory immer an das

Directory.SetAccessControl() denken


"" wrote:

Hi,

Mein Programm liest mit GetDirectories() den kompletten
Verzeichnisbaum aus.
Daß es einen Fehler gibt, wenn keine ausreichenden Rechte für den
jeweiligen Startordner vorhanden sind hab ich in der Beschreibung
gefunden.
Aber ob die Funktion dementsprechend automatisch nur Ordner auflistet,
auf die der User von vorneherein per Definition Zugriff hat, steht
dort nicht.

Ich möchte den Baum nàmlich _ausschließlich_ aus Ordnern aufbauen, in
denen Lese- und Schreibrechte gegeben sind. Informationen zu den
anderen Ordnern brauche ich nicht - deshalb genügt es völlig, wenn
GetDirectories sich entsprechend "blind" verhalten sollte.

Falls nicht, wie teste ich effektiv die Permissions für die einzelnen
Ordner?
Schreibe ich einfach testweise eine kleine Dummy-Datei in jedes
Verzeichnis und lösche sie sofort wieder oder kann ich die
Fehlermeldung GetDirectories() ausnutzen?


Ich entwickle hier an einem recht "offenen" System und kann das nicht
wirklich haarklein austesten.

Ähnliche fragen