Frage

Ich schrieb Code Erlaubnis des Ordners zu setzen. Funktion entwickelte ich war

public void SetPermission(string user,FileSystemRights rights)
{
    DirectoryInfo dInfo = new DirectoryInfo(folderPath);
    DirectorySecurity oDirectorySecurity = new DirectorySecurity();

    oDirectorySecurity.AddAccessRule(new FileSystemAccessRule(user, rights, AccessControlType.Allow));
    dInfo.SetAccessControl(oDirectorySecurity);
}

Diese Funktion funktioniert gut Erlaubnis für den Benutzer einzustellen. Aber wenn ich Ordner Eigenschaften überprüfen -> Sicherheit, Benutzer hinzugefügt. Aber keine Erlaubnis wird in Checkbox aktiviert Öffnen Sie die erweiterten dialogbox. In dieser Box kann ich sehen, die Erlaubnis, die ich für den Benutzer festgelegt.

Also meine Frage ist, warum es keine Checkbox auf Sicherheitsvorsprung angewählter ist, aber es ist da in fortgeschrittenen Reiter?

Bitte helfen Sie mir !!!!!!

War es hilfreich?

Lösung

Ich lief auch in diesen. Es scheint ein Service Patch Sache zu sein.

Sie können lesen, wie ich es bei http: // jspot.jerryhanel.com/2009/01/08/c-filedirectory-permissions/

Die kurze Version: Sie haben für alle die ACLs für alle Benutzer ein Flag zu setzen. Ja ... es ist hässlich. Und wenn Sie Service Pack 3 hinzufügen, gehen die Häkchen wieder weg. Wenn jemand eine sauberere Lösung als diese hat, lassen Sie es mich wissen.

Ich habe Code für das auf meiner Seite.

UPDATE . Die URL zeigt nun auf die neue Website

Andere Tipps

Es könnte helfen, dInfo.GetAccessControl zu verwenden oDirectorySecurity zu initialisieren. Sie könnten auch versuchen, oDirectorySecurity.SetOwner aufrufen.

Manchmal Berechtigungen nur in fortgeschrittenen angezeigt, wenn sie nicht angewandt werden, um Objekte zu korrigieren. Versuchen Sie, die Vererbung / Propigation Flaggen auf Ihrem FileSystemAccessRule Objekt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top