ERLEDIGT
NEIN
NEIN
ANTWORTEN
12
12
ZUGRIFFE
1056
1056
EMPFEHLEN
-
01.01.06 16:48 #1
Hi.
Ich habe eine Datei namens "Paths.dat" auf einem Pc namens "Server" liegen. Diese paths-Datei liegt in C:\Dateien, das Directory ist NICHT freigegeben.
Gibt es irgendeine Möglichkeit mit C# auf diese Datei zu kommen, Sie zu öffnen?
Die Datei soll nicht freigegeben werden, sie soll nur mit nem Speziellen Prog. geöffnet werden können.
Kann Ich so nen Pfad angeben, wie z.B. "\\Server\C:\Dateien\Paths.dat"?
Kriege Ich da zugriffsprobleme wegen den Rechten, weils ja nicht freigegeben ist?
Danke schon Mal!
MfG Alexander12
-
Also das ist ja eigentlich die Idee von nicht-freigegebenen Ordnern, dass du eben nicht darauf zugreifen kannst.
Wenn nur dein Programm darauf zugreifen können sollte, musst du das Serverseitig regeln. Der Server muss entscheiden, wer die Datei bekommt und wer nicht.
Du erstellst einen speziellen Windows Benutzer nur für dein Programm und erteilst nur diesem Benutzer Lese/Schreibrechte. (Hab noch nie ein Programm von einem anderen Benutzer ausführen lassn, frag mich nicht)
Du könntest z.B. einen kleine Webserver einrichten (Apache) und mit .htaccess Dateien (HTTP-Authentifikation) den Zugriff mit einem Benutzernamen samt Passwort schützen, oder
Du könntest ein eigenes Serverprogramm schreiben, welches die Datei übers Netzwerk schickt, falls sich der Client identifizieren kann. Lässt sich glaub ich recht gut mit .NET Remoting aber auch über Sockets realisieren.Zu jedem Problem gibt es mindestens eine Lösung.
Zu jeder Lösung gibt es mindestens eine bessere Lösung
-
01.01.06 21:51 #3
Hi.
Erstmal danke für deine Antwort!
Kann Ich eigentlich - Ich will die datei ja nur auslesen, nicht direkt per Pfad auf die Datei mit dem FileStream oder Streamreader etc. drauf zugreifen?
MfG Alexander12
-
Das kannst du, vorausgesetzt du hast Leserechte für diese Datei. Da sie aber nun mal nicht freigegeben und auf einem anderen Computer ist, wird das nicht der Fall sein.
Hinter jedem Dateistream steht ein Windows Dateizugriff. Wenn der ausführende Benutzer nicht über ausreichende Berechtigung verfügt, wird dir eine Exception an den Kopf geworfen.Zu jedem Problem gibt es mindestens eine Lösung.
Zu jeder Lösung gibt es mindestens eine bessere Lösung
-
02.01.06 13:02 #5
Hi.
Per Socket?
Hm.. Ist Neuland für mich, hast du evtl. nen Link/Tutorial wo sowas gemacht wird?
Ich werd mir nochml das tut von Alexander Schuc durchlesen über remoting.
Es soll halt ein Programm werden, welches Ordner quasi freigibt, aber Sie nicht in der Netzwerkumgebung zu sehen sind, sondern nur von einem Client. Das Server-Tool verwaltet die Ordner, der Client zieht sich Dateien, also Sharen übers Netzwerk. Beim Server-Tool sollen die Benutzer in eine ListBox eingetragen werden, die gerade aktiv sind.
Vllt. könnt Man das ja anders aufbauen.
MfG Alexander12
-
02.01.06 13:18 #6
- Registriert seit
- Apr 2004
- Ort
- schweiz
- Beiträge
- 618
Alexander, einfach nochmal alle Posts lesen, und du hast die Lösung....
HAPPY NEW YEAR...
damn null sex
~~Be water my friend~~ by bruce
~~Der einfachste Weg, bietet die schwerste Lösungssuche~~ by emkey
*****************************
(\_/)
(O.o) This is Bunny. Copy Bunny into your signature
(> <) to help him on his way to world domination
.:Blödeleienschreiber des 1. offiziellen Sven Uwe Fan-Clubs:.
-------------------------------------------------------------------------------------
Mir sche*** egal wer dein Vater ist!! Wenn ich fische geht keiner übers Wasser!
-
02.01.06 13:29 #7
Hi.
Ja, habe Ich. Ich habe mir auch gerade das Remoting-Tutorial durchgelesen und mir Mal die Klassen TcpListener und TcpClient angeschaut. Das sind ja 3-4 Seiten Code, am Anfang würde es mir ja schon reichen einfach ne Verbindung aufzubauen..
Hast du da evtl. nen Link, zioP?
MfG Alexander12
-
Wieso so kompliziert?
Machst du das unter .NET 2.0?
Wenn ja, dann verwende einfach WindowsPrincipals (also vielleicht auf der MSDN unter Principals nachlesen). Principals stellen Windows-User dar und mit einem derartigen User kann man sich unter 2.0 auch sehr einfach an einem anderen Rechner anmelden und so zu einer Datei gelangen, die für alle anderen nicht zugänglich ist. Musst halt über den Admin-Share gehen, was dem ganzen einen üblen Beigeschmack gibt, aber nun gut ... kommt darauf an, wofür du das brauchst.
-
02.01.06 14:47 #9
Hi.
Ja, ja, ich verwende .NET 2.0.
Kann Ich mit den Principals per FileStream, also per Pfad drauf zugreifen?
Wenn ja, wie ist das Format eines solchen Pfades?
Wozu Ichs brauch?
Ich möcht Dateien übers Heimnetzwerk tauschen.
Ein Server-Tool verwaltet die Dateien, die Client-Tools greifen darauf zu und saugen.
MfG Alexander12Geändert von Alexander12 (02.01.06 um 14:56 Uhr)
-
02.01.06 15:03 #10
Hi Norbert.
Also das habe Ich rausgefunden:
WindowsPrincipal wp = new WindowsPrincipal(WindowsIdentity.GetCurrent());
this.UserNameTextBox.Text = wp.Identity.Name;
Ich sitze hier an nem Rechner der "Administrator" heisst.
In der TextBox steht dann "ADMINISTRATOR\Besitzer".
Aber wie Ich auf Dateien etc. eines ANDEREN komm steht in der MSDN nicht.
MfG Alexander12
-
02.01.06 15:50 #11
- Registriert seit
- Apr 2004
- Ort
- schweiz
- Beiträge
- 618
Ich hab zwar keinen grossen Durchblick, was das alles anbelangt, aber ich glaube du musst nicht den jetzigen User haben, sondern den User, der die Rechte auf dem Server Besitzt.
Ein tipp, wie du WindowsUser setzen kannst:
ImpersonateUser --> Ist ne Vorgefertigte Klasse, müsstest du mit diesem Suchbegriff finden, hilft dir zu überprüfen ob ein User Existiert
string winuser = this.User.Identity.Name.Substring(this.User.Identity.Name.IndexOf("\\")+1); ----> bekommst du den aktuellen angemeldeten WinUser
ist aber 1.1
Wie gesagt, hab nicht wirklich viel Plan, aber vieleicht hilft dir das n bisserl
so long
ziopGeändert von zioProduct (02.01.06 um 16:42 Uhr)
~~Be water my friend~~ by bruce
~~Der einfachste Weg, bietet die schwerste Lösungssuche~~ by emkey
*****************************
(\_/)
(O.o) This is Bunny. Copy Bunny into your signature
(> <) to help him on his way to world domination
.:Blödeleienschreiber des 1. offiziellen Sven Uwe Fan-Clubs:.
-------------------------------------------------------------------------------------
Mir sche*** egal wer dein Vater ist!! Wenn ich fische geht keiner übers Wasser!
-
02.01.06 17:18 #12
Hi.
Danke.
Ich müsst jetzt nur noch wissen, wie Ich letztendlich auf die Dateien zugreife..
Dazu steht nichts in der MSDN.
MfG Alexander12
-
Wenn ich mich nicht irre, funktioniert das, genau, wie du am Anfang gesagt hast: "\\Server\C:\Dateien\Paths.dat", wobei Paths.dat für deinen aktuellen Benutzer freigegeben sein muss. Oder liege ich da falsch?
Zu jedem Problem gibt es mindestens eine Lösung.
Zu jeder Lösung gibt es mindestens eine bessere Lösung
Ähnliche Themen
-
Datei von anderem PC öffnen mit Passwort
Von deusfalsus im Forum Visual Basic 6.0Antworten: 2Letzter Beitrag: 25.02.08, 14:40 -
Fenster mit anderem Thread öffnen
Von Knight_Rider im Forum .NET Windows FormsAntworten: 2Letzter Beitrag: 05.01.08, 19:07 -
Bei Start autom. Datei öffnen - Frage
Von Alexander12 im Forum .NET Application und Service DesignAntworten: 17Letzter Beitrag: 06.01.06, 20:32 -
Seite in anderem Frame öffnen?
Von Hanselmann im Forum HTML & XHTMLAntworten: 7Letzter Beitrag: 09.08.05, 22:37 -
Link in anderem Frame öffnen
Von meinereins im Forum HTML & XHTMLAntworten: 2Letzter Beitrag: 14.04.05, 23:32





Zitieren
Login





