Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Zugriff auf Verzeichnisfreigabe im Netz (https://www.delphipraxis.net/77874-zugriff-auf-verzeichnisfreigabe-im-netz.html)

kecke 26. Sep 2006 07:20


Zugriff auf Verzeichnisfreigabe im Netz
 
Aus einem Delphi-Programm heraus möchte ich auf Dateien einer Netzwerkfreigabe (Samba) zugreifen. Das Verzeichnis ist durch browsable = No geschützt und soll nur dem Delphi-Programm zur Verfügung stehen.
Frage: Wie kann sich das Delphi-Programm anmelden (Name und Passwort müssen übergeben werden!), ohne dass extra ein Laufwerksbuchstabe vergeben werden muss?
Wenn ich vorher manuell in der Netzwerkumgebung eine Verbindung mit der Freigabe hergestellt habe, dann funktioniert der einfache Zugriff über die Pfadangabe: \\server\freigabe - aber eben nur nach vorheriger manueller Anmeldung, die ich vermeiden möchte.
Die Lösung mit WNetAddConnection2 wäre nur der zweitbeste Weg, da hier erst immer ein freier Laufwerksbuchstabe gesucht werden muss.

Vielen Dank im Voraus für gute Ideen!

Olli 30. Sep 2006 16:51

Re: Zugriff auf Verzeichnisfreigabe im Netz
 
Du mußt dich an der IPC-Freigabe des Servers anmelden. Normalerweise sollte jeder SAMBA/SMB-Server eine Freigabe ala \\server\IPC$ haben. Du kannst dich nun bei dieser anmelden ohne einen Laufwerksbuchstaben zu vergeben. Damit bist du gegen den Server authentifiziert und kannst auf alle Freigaben zugreifen, die für den angemeldeten Benutzer freigegeben sind.

WNetAddConnection, WNetAddConnection2 usw. erlauben es auch eine Verbindung ohne lokale Weiterleitung (bspw. als LW-Buchstabe) herzustellen.

kecke 5. Okt 2006 06:24

Re: Zugriff auf Verzeichnisfreigabe im Netz
 
Danke für den Hinweis, aber wie geht das mit Delphi-Mitteln? Ich möchte, dass die Delphi-Anwendung die Anmeldung vornimmt (und am besten auch die Abmeldung nach Programmende.

S. Kecke

Luckie 5. Okt 2006 08:16

Re: Zugriff auf Verzeichnisfreigabe im Netz
 
Hat Oliver doch geschrieben: WNetAddConnection, WNetAddConnection2. Bemüh doch einfach mal die Forensuchen.

kecke 5. Okt 2006 09:05

Re: Zugriff auf Verzeichnisfreigabe im Netz
 
Alles klar, ich gebe zu: Wer lesen kann ist klar im Vorteil.

S. Kecke

Olli 5. Okt 2006 09:48

Re: Zugriff auf Verzeichnisfreigabe im Netz
 
Eine Sache vergaß ich noch. Normalerweise kann man nur eine einzige Verbindung an IPC$ herstellen. Das bedeutet, daß du danach erst trennen mußt, um dich mit einem anderen Benutzeraccount an einem speziellen Share anzumelden.

Christian Seehase 5. Okt 2006 09:54

Re: Zugriff auf Verzeichnisfreigabe im Netz
 
Moin Olli,

nicht ganz.
Normalerweise kann man sich zweimal verbinden.
Einmal über den Namen, einmal über die IP-Adresse.

Olli 5. Okt 2006 10:03

Re: Zugriff auf Verzeichnisfreigabe im Netz
 
Zitat:

Zitat von Christian Seehase
Normalerweise kann man sich zweimal verbinden.
Einmal über den Namen, einmal über die IP-Adresse.

Stimmt, an diesen schmutzigen Trick habe ich nicht gedacht :zwinker: :mrgreen:

So gesehen kann man auch unendlich viele DNS-Einträge erzeugen um sich unter den verschiedenen Namen anzumelden. Aber ist ein guter (i.e. cleverer) Trick ...
(Funzt natürlich nur über TCP/IP, weil bei den UDP-Netbios-Namen IMO andere Regeln gelten)


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:20 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