2009-06-23 13 views
0

Wir haben eine App, die auf Netzwerkressourcen zugreifen muss. Es ist in VB.Net geschrieben. Die Anwendung kann nicht über einen UNC-Pfad auf die Dateien auf einem anderen Server zugreifen. Wie können wir herausfinden, bei welchem ​​Benutzer die Anwendung wirklich läuft und wie kann sie geändert werden? Wir haben versucht this KB from Microsoft ... aber es hat nicht funktioniert.Wie kann ich feststellen, mit welchem ​​Benutzer eine VB.Net-Anwendung ausgeführt wird und wie kann ich sie ändern?

Antwort

0

Wenn Sie der angemeldete Benutzer die Anmeldeinformationen hier ist Eigentum zugreifen möchten:

Page.User.Identity.Name 

Wenn die App läuft in einer Anwendung Pool, gibt es wahrscheinlich einige Rechnung, dass es für seine zum Imitieren eingerichtet ist Ausführung, z lokales Systemkonto, Netzwerkdienst oder anderes. Der Task-Manager unter Prozesse kann einen Benutzernamen für den Arbeitsprozess anzeigen, z. aspnet_wp.exe auf XP in IIS 5.1.

Wenn keiner dieser Punkte hilft, geben Sie an, welche Version von IIS Sie verwenden und welche Version von VB.Net verwendet wird, um einzugrenzen, was passiert.

+0

Mit II6 (w3wp.exe, unter Netzwerkdienst ausgeführt). Ich nehme an, dass es im Standardpool ausgeführt wird. Ich fing an, herumzustochern und jetzt sieht es so aus, als würde w3wp.exe als der Benutzer laufen, dem wir versuchen, Berechtigungen zu erteilen, aber immer noch nicht in der Lage, auf den Remote-Pfad richtig zuzugreifen. – nvahalik

+0

Sind die Server in derselben Domäne? Es kann sein, dass Domain1 \ Network Service nicht mit Domain2 \ Network Service identisch ist. Darüber hinaus gibt es zwei Gruppen von Berechtigungen, die Sie sich anschauen können: Die, die sich auf der UNC selbst befinden, hinsichtlich der Freigabe und dann die der Dateien auf dem Server in Bezug auf ACLs. –

Verwandte Themen