Netzwerkfreigabe

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von hal2000.

    Netzwerkfreigabe

    Hallo liebes Forum,

    ​ich melde mich wieder einmal mit einer Frage.
    ​Folgende Situation:

    ​Ich möchte den Zugriff auf bestimmte Dateien in einem Freigabepfad über einen anderen Benutzer (Domänenbenutzer) steuern.
    ​Das heißt, dass ich mich Beispielsweise als Benuter A, anmelde und mein Programm ausführe.
    ​Sobald ich auf Datei öffnen drücke (im Programm) soll diese über Benutzer B Credentials gestartet werden, da nur User B im Active Directory Zugriffsrechte hat.

    ​Welche Möglichkeiten habe ich da?

    ​Vielen Dank im voraus.

    ​LG DimIT
    Dateizugriff auf freigegebene Ordner per Active Directory bedeutet SMB. Soweit ich weiß, kann Windows bei SMB-Zugriff nur eine einzige Anmeldesession pro Server (nennen wir ihn S) halten. Solange Benutzer A keine geöffneten Dateien auf S hat, kann sich derselbe Rechner (z.B. per net use) auf S anmelden und eine Session zu einer Freigabe einrichten. Ist Benutzer A jedoch schon auf S angemeldet, geht das nicht. Die Session von A muss erst beendet werden. Quelle: social.technet.microsoft.com/F…orum=itprovistanetworking

    Falls die Voraussetzungen erfüllt sind, ist die Billigvariante der entsprechende Aufruf an net use. Ansonsten habe ich noch das gefunden: stackoverflow.com/questions/32…twork-folder-using-vb-net
    Gruß
    hal2000
    Vielen lieben Dank für die sehr gute Antwort.
    ​Gibt es hier vielleicht andere Ideen, wie man für viele Benutzer beispielsweise Dokumente bereitstellt?

    ​Meine Aufgabe ist es, ein Programm mit einem Rechtesystem bereitzustellen, um auf bestimmte Dokumente zuzugreifen.
    ​Beispielsweise PDF Dokumente.
    ​Das heißt, dass beispielsweise ein Benutzer sich anmeldet und nach einer Rechnung schauen will.
    ​Wäre FTP eine schlechte Idee, wenn Beispielsweise mehrere Benutzer auf eine Datei zugreifen wollen oder eher was besseres?
    ​Weil wenn ich FTP verwende, müsste ich diese Dateien ständig herunterladen lassen und diese ja auch irgendwo zwischenspeichern.

    ​Jemand eine Idee?
    Schreib dir einen Service, den unter einem privilegierten Benutzer startest und der dir auf Anfrage durch dein Programm die entsprechenden Dateien lokal lädt.
    Es ist aber etwas ungewöhnlich, dass Daten auf diese Art geschützt sind.
    Die Leserechte sollten nicht am Programm aufgehängt sein, sondern am Benutzer.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    Das Programm, das du nutzen solltest, heißt Windows Explorer (nein, kein Scherz). Berechtigungen kannst du im AD so fein granuliert vergeben, dass bestimmte Benutzer oder Computer berechtigt sind und andere nicht (z.B. auch gruppenweise). Das Problem an deinem Ansatz ist, dass du keine Kontrolle über die Verbreitung deines selbst geschriebenen Programmes hast: Was ist, wenn Mitarbeiter 1 (berechtigt) das Programm in der Kaffeepause an Mitarbeiter 2 (eigentlich nicht berechtigt) weitergibt, weil Mitarbeiter 2 das angeblich "für seine Arbeit braucht"? Keine gute Idee...

    Ich vermute, dass dein Problem woanders liegt: Du möchtest den Zugriff auf Dokumente bereitstellen, aber nur zur Ansicht, nicht zum Kopieren. Das ist im AD allein tatsächlich nicht machbar, denn alle Dateien, die Benutzer lesen dürfen, können auch kopiert werden. Eine mögliche Lösung ist ein Dokumentenmanagementsystem. Manche dieser Programme bieten eine Art Checkout-Mechanismus an: Jeder Zugriff auf ein damit verwaltetes Dokument wird protokolliert. Wer es ganz sicher mag lässt ausgecheckte Dokumente mit individuellen Wasserzeichen versehen, sodass der Urheber eines Datenlecks nicht nur feststellbar, sondern auch nachweisbar ist.
    Gruß
    hal2000