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/)
-   -   Authentifizierung unter Windows 7 (https://www.delphipraxis.net/154980-authentifizierung-unter-windows-7-a.html)

Luckie 4. Okt 2010 09:32

Authentifizierung unter Windows 7
 
Unter Windows XP habe ich mich bisher mit folgender Funktion an einem Remoterechner authentifiziert:
Delphi-Quellcode:
function ConnectToNetworkDrive(LocalName: string;
  RemoteName: string; Username: string; Password: string;
  RestoreAtLogon: boolean ): DWORD;
var
  NetResource: TNetResource;
  dwFlags:    DWORD;
begin
  dwFlags := 0;
  ZeroMemory(@NetResource, sizeof(TNetResource));
  with NetResource do begin
    dwType := RESOURCETYPE_DISK;
    lpLocalName := PChar(LocalName);
    lpRemoteName := PChar(RemoteName);
    lpProvider := nil;
  end;

  if (RestoreAtLogon) then
    dwFlags := dwFlags or CONNECT_UPDATE_PROFILE;

  Result := WNetAddConnection2(NetResource,PChar(Password), PChar(Username),dwFlags);
end;
Unter Windows 7 scheint das nicht mehr zu funktionieren. Ich bekomme immer eine "Zugriff verweigert". Siehe dazu die Beiträge in dem Thread zu meinem Programm RemoteShutdown.

Im Windows SDK konnte ich leider keine Hinweise bezüglich Windows 7 finden.

Dezipaitor 4. Okt 2010 10:12

AW: Authentifizierung unter Windows 7
 
Ich weiß nicht, ob du von oder zu einem Win7 Share verbindest.

Aber die Funktion konnte ich zu einem XP von eine Win7 Windows nicht 2mal mit verschiedenen Credentials aufrufen. Aber ich bekam Fehler 1219 (unbekannt).

Luckie 4. Okt 2010 11:06

AW: Authentifizierung unter Windows 7
 
Also ich verbinde mich mit einer administrativen Freigabe:
Delphi-Quellcode:
DisconnectNetworkDrive(Computer + '\IPC$');
dummy := ConnectToNetworkDrive('', ComputerTemp + '\IPC$', User, PW, False);
Gibt es noch andere Möglichkeiten sich zu authentifizieren? Da ich die gleiche Methode für meinen Usermanager nutze, habe ich dort die gleichen Probleme. Da er aber wohl grundsätzlich unter Windows 7 (nicht Starter) läuft, wäre es schön, wenn man das irgendwie hinbekommen würde.

ChrisE 4. Okt 2010 13:52

AW: Authentifizierung unter Windows 7
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Luckie,

ich bin mir nicht ganz sicher ob Dir das weiter hilft. Aber ich war ja auch ein "Tester" von dem RemoteShutdown. Und die hier beschriebene Methode scheint einzeln zu funktionieren.

Ich habe dir mal das Testprojekt angehängt, welches bei mir Funktioniert bzgl. Deiner hier gestellten Frage.

Läuft auf Windows 7 Ultimate und liefert als Ergebnis 0 bei Versuch auf einen Vista Ultimate zu verbinden.


Gruß, Chris

P.S.: Delphi 2007

Luckie 4. Okt 2010 14:01

AW: Authentifizierung unter Windows 7
 
Was ist jetzt bei dir anders? Ich kann da auf dem ersten Blick keinen Unterschied erkennen.

ChrisE 4. Okt 2010 14:05

AW: Authentifizierung unter Windows 7
 
Hallo Luckie,

das ist genau dass, was ich dir sagen wollte. Ich glaube nicht, dass diese Routine einzeln für sich das Problem von Deinem RemoteShutdown ist. Die Funktion selber tut Ihren Dienst.

Wichtig ist aber eben auch, dass was Dezipaitor geschrieben hatte. Es funktioniert nur dann, wenn keine andere Verbindung (anderer Benutzer) zu diesem Rechner existiert. Sonnst geht das nicht. Aber das dürfte Dir ja klar sein.

Gruß, Chris

Luckie 4. Okt 2010 14:18

AW: Authentifizierung unter Windows 7
 
Dann muss ich noch mal an anderen Stellen im Code gucken. Eventuell ist es auch die Shutdownfunktion.

Remko 4. Okt 2010 21:27

AW: Authentifizierung unter Windows 7
 
Have you checked on the Windows 7 machine that the network isn't set to Public or some other profile that prohibits rpc?


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