Zugriff auf Netzlaufwerk nur für Anwendung (mit Authentifizierung)
Ich habe eine Anwendung (in einer reinen Windows-Umgebung), von der vertrauliche Daten in Netzwerk gespeichert werden müssen, so dass andere Arbeitsstationen (mit der selben App) auf diese Daten zugreifen können.
Im Moment werden dazu eine zentrale SMB-Netzwerkfreigabe und verschlüsselte Dateien verwendet. Alle (Windows) Benutzer, die unsere Anwendung verwenden, müssen über Lese- und Schreibzugriff auf einen im Netzwerk freigegebenen Ordner verfügen. Auf diese Weise werden Daten gespeichert und ausgetauscht. Diese Konfiguration hat einen großen Nachteil: Nicht nur die Anwendung sondern auch alle Benutzer unserer Anwendung haben vollen Zugriff auf diesen freigegebenen Ordner. Ok, sie können die vertraulichen Daten nicht lesen, da sie verschlüsselt sind, aber krimineller Energie oder Dummheit vorausgesetzt können sie einfach einen Windows-Explorer öffnen, zu diesem freigegebenen Ordner navigieren und dort Dateien löschen. (Ich habe versucht, WNetAddConnection2 zu verwenden, aber sobald die Authentifizierung erfolgt ist, wird die Verbindung auch für andere Programme geöffnet. Wenn ich den SMB-Ordner keinem Laufwerksbuchstaben zuordne, kann ich die Verbindung nachher nicht mal trennen.) Ist es irgendwie möglich, dass eine Anwendung sich so bei einem Netzlaufwerk anmeldet, dass nur sie - und nicht der Benutzer auch - auf das Netzlaufwerk zugreifen kann? Danke! |
AW: Zugriff auf Netzlaufwerk nur für Anwendung (mit Authentifizierung)
Hmm..
ich denke, da wirst Du keine Lösung bekommen.. Wenn ein User unter Windows an einem Share authentifiziert ist, egal ob als Laufwerk gemappt oder nur per ipc, kann er über den Explorer darauf zugreifen. Es ist natürlich (für einfache User) schwieriger ein nur per UNC-Pfad zu erreichendes Verzeichnis auch über den Explorer zu finden, jedoch nicht unmöglich. Somit hast Du nur die Möglichkeit, von SMB weg zu einem eigenen WebService, welcher deiner App die Dateien nur authentifiziert ausliefert und wieder entgegen nimmt.. |
AW: Zugriff auf Netzlaufwerk nur für Anwendung (mit Authentifizierung)
Zitat:
Oder spricht was dagegen, ein Service zu schreiben das sich anmeldet. Dann hat nur der Service Vollzugriff und nicht der Nutzer. Dann bleibt natürlich die Krux, dass ich sämtliche Fileoperationen irgendwie über den Service redirecten muss. Wenn das die Wahl wäre: wie kommuniziere ich möglichst schnell mit dem Service? (sind ja grosse Datenmengen) Zitat:
Ich muss ja ohnehin einen Nachfolger von TFileStream bauen, aber der sollte schon möglichst performant arbeiten, auch bei einen beliebigen Zugriff auf's File. |
AW: Zugriff auf Netzlaufwerk nur für Anwendung (mit Authentifizierung)
Die Idee ist ja schon mal nicht schlecht, aber man schreibt einen Service und installiert den an einer Stelle und alle fragen dort nach. Wie und wo der Service speichert - wurscht.
Eine REST-API (alles per HTTP) wäre da sicher der einfache Weg. PS: Datensätze mit einer Größe von 1 TeraByte auf die der Client komplett zugreifen soll und dann noch von Performance zu sprechen ist schon sehr abenteuerlich. Was hast du denn für eine Netzwerkanbindung? Quadrillionen-Gigabit? |
AW: Zugriff auf Netzlaufwerk nur für Anwendung (mit Authentifizierung)
Hmm..
Hab das noch nicht probiert: Den Zugriff in deiner App komplett über einen anderen Username/PW kapseln: - Verwenden von LogonUser / LoadUserProfile / ImpersonateLoggedOnUser um deine App auf diesen User umzustellen - Anmelden am Share mit diesem User - Wenn App geschlossen wird, dann per RevertToSelf / UnloadUserProfile / CloseHandle alles zurück... Damit sollte deine App mit den Zugriffsrechten des anderen Users darauf zugreifen können. Ob auch automatisch andere Apps auf das Share zugreifen können (Explorer), weil von diesem Client das Login stattgefunden hat.. ??? Keine Ahnung, kann es auch jetzt nicht testen. Auch kann es Probleme mit der Verbindung zum Share geben, wenn der CLient bereits mit einem anderen Unser an dem Server (Share) angemeldet ist.. Aber dies währe mein nächster Test... |
AW: Zugriff auf Netzlaufwerk nur für Anwendung (mit Authentifizierung)
Was ist denn mit den üblichen Verdächtigen, um Dateien sicher über Netzwerkprotokolle auszutauschen, etwa (S)FTP oder auch WebDav?
|
AW: Zugriff auf Netzlaufwerk nur für Anwendung (mit Authentifizierung)
Zitat:
Ist werde das über ein Service lösen. Danke für's denken-helfen. |
AW: Zugriff auf Netzlaufwerk nur für Anwendung (mit Authentifizierung)
Zitat:
Probiere es aus mit: net use x: \\192.168.1.5\share /user:bla * (IP natürlich anpassen) |
AW: Zugriff auf Netzlaufwerk nur für Anwendung (mit Authentifizierung)
Zitat:
|
AW: Zugriff auf Netzlaufwerk nur für Anwendung (mit Authentifizierung)
Hmm..
Zitat:
Wenn Du unter Windows mit einem User an einem Server angemeldet bist, kannst Du dich nicht mit einem 'anderen' Usernamen am gleichen Server anmelden. Auf einem Client/einer Session kann immer nur mit einem User an einen Server angemeldet werden. Die Anmeldung ist Client bezogen.. Keine Ahnung wieso.. MS... (Ich hab jedenfalls 'immer' die Meldung bekommen, das man sich nicht 'wieder' am Server anmelden kann, wenn noch eine Anmeldung mit einem anderen User besteht, unabhängig ob ein Share gemapt wurde oder nur auf IPC angemeldet wurde) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:53 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz