Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Informationen eines Netzlaufwerks speichern (https://www.delphipraxis.net/53638-informationen-eines-netzlaufwerks-speichern.html)

Baeuerle 20. Sep 2005 14:41


Informationen eines Netzlaufwerks speichern
 
Hallo,

ich habe folgendes Problem:

- Ein Anwender wählt ein gemapptes Netzlaufwerk aus ( X:\ = \\server\share\ ). X:\ wird von meinem Prog gespeichert.

- Der Anwender beendet mein Prog und trennt das gemappte LW

- Beim nächsten Start des Prog wird erkannt, dass das LW X:\ nicht da ist, es soll jetzt automatisch wieder hergestellt werden ( ohne den Anwender zu belästigen ) !!!!! So und hier liegt das Problem !!!

Ich kann mir zwar den UNC-Pfad merken, doch woher soll ich den username bzw. das Passwort erhalten wenn der Anwender das Netzlaufwerk auswählt!!

Um die Verbindung wieder herzustellen benötige ich schließlich diese Informationen. Kann man vielleicht aus der vorherigen Session etwas speichern???

Bitte um Hilfe ....Danke Baeuerle

**PUSH**

Baeuerle 21. Sep 2005 06:56

Re: Informationen eines Netzlaufwerks speichern
 
**PUSH**

Flocke 21. Sep 2005 07:04

Re: Informationen eines Netzlaufwerks speichern
 
So einfach wird das nicht sein, ich wüsste jetzt auf jeden Fall nicht, wie es OHNE Benutzerinvention gehen könnte. Warum arbeitest du nicht einfach mit dem UNC-Pfad? Normalerweise kannst du alle Dateioperationen auch damit ausführen.

Baeuerle 21. Sep 2005 07:10

Re: Informationen eines Netzlaufwerks speichern
 
Hi Flocke,

danke erstmal, dass sich jemand um das Thema bemüht!

Das mit dem UNC-Pfad ist nicht das Problem. Dieser wird schon gespeichert! Der UNC-Pfad reicht allerdings nicht um das Laufwerk wieder herzustellen! Ich benötige zusätzlich die Benutzerinformationen bzw. Sessioninfos, und diese müssen doch bei einer aktiven Verbindung auslesbar sein, denn wenn weitere Netzlaufwerke in Windows hergestellt werden, muss der Benutzername und das Passwort ja auch nicht nochmal angegeben werden!

Greats Baeuerle

Sharky 21. Sep 2005 07:14

Re: Informationen eines Netzlaufwerks speichern
 
Hai Flocke,

dann müsste man dem Admin aber feste auf die Finger klopfen. Wenn er für die Verbindung mit der Freigabe ein Kennwort verlangt aber nicht für das schreiben/lesen auf Verzeichniss hat er ein riesen Problem weil er nämlich genau die Möglichkeit des Zugriffes über den UNC-Pfad nicht berücksichtigt hat.

Wenn die Authentifizierung notwendig ist sollte sie auch vom Anwender verlangt werden.

@Baeuerle:
So wie sich das liest sind die Clientrechner ja nicht in eine Domäne bzw. haben local andere Benutzerkennungen als auf dem Server. Habe ich das richtig verstanden?

Baeuerle 21. Sep 2005 07:19

Re: Informationen eines Netzlaufwerks speichern
 
@Sharky

Ja genau so ist es, die Benutzer melden sich lokal an, und dann nocheinmal getrennt an der Domain.

Flocke 21. Sep 2005 07:26

Re: Informationen eines Netzlaufwerks speichern
 
Zitat:

Zitat von Sharky
Hai Flocke,

dann müsste man dem Admin aber feste auf die Finger klopfen. Wenn er für die Verbindung mit der Freigabe ein Kennwort verlangt aber nicht für das schreiben/lesen auf Verzeichniss hat er ein riesen Problem weil er nämlich genau die Möglichkeit des Zugriffes über den UNC-Pfad nicht berücksichtigt hat.

Wenn die Authentifizierung notwendig ist sollte sie auch vom Anwender verlangt werden.

Ist schon klar (einmal ohne, einmal mit PW geht auch IMHO gar nicht).

Ich wollte nur ausdrücken, dass ich einfach den UNC-Pfad benutzen würde - die Passwortabfrage erledigt dann das System. Wozu braucht man den Laufwerksbuchstaben?

Baeuerle 21. Sep 2005 07:30

Re: Informationen eines Netzlaufwerks speichern
 
@Flocke

Ok, der LW-Buchstabe wird nicht unbedingt benötigt, jedoch benötige ich immernoch die Anmeldeinformationen für die Domain, die ich irgendwie aus einer bestehenden Verbindung auslesen möchte!

marabu 21. Sep 2005 07:33

Re: Informationen eines Netzlaufwerks speichern
 
Vergiss das mit dem Auslesen, es existiert nur noch ein token. Du musst die credentials vorher selbst abfragen und die Verbindung dann vom Programm aus herstellen. Die credentials musst du dann im protected storage speichern.

Grüße vom marabu

ringli 21. Sep 2005 07:38

Re: Informationen eines Netzlaufwerks speichern
 
Hiermit funktioniert das Mounten eines Netzwerklaufwerkes ohne Benutzer / Passwort. Stand gestern vor dem gleichen Problem und hab hier im Forum die Lösung gefunden.
Delphi-Quellcode:
{*** Netzlaufwerk verbinden (ohne Passwort) ***}
function ConnectNetDrive(_locDrive, _netPath: string;
                         RestoreAtLogon: Boolean): DWORD;
var
  nRes: TNetResource;
  dwFlags: DWORD;
begin
  { NetRessource mit #0 füllen => Keine unitialisierte Werte }
  FillChar(NRes, SizeOf(NRes), #0);
  nRes.dwType := RESOURCETYPE_DISK;
  { Laufwerkbuchstabe und Netzwerkpfad setzen }
  nRes.lpLocalName := PChar(_locDrive);
  nRes.lpRemoteName := PChar(_netPath); { Example: \\Test\C }
  { Überprüfung, ob gespeichert werden soll }
  if RestoreAtLogon then
    dwFlags := CONNECT_UPDATE_PROFILE and CONNECT_INTERACTIVE  
  else
    dwFlags := CONNECT_INTERACTIVE;

  Result := WNetAddConnection3(Application.Handle, nRes,
                               nil, nil, dwFlags);
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:55 Uhr.
Seite 1 von 2  1 2      

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