Frage

Wenn userA eine Datei hochgeladen hat, werden seine Dateien zu ordnerA hochgeladen werden, wenn userB, zu ordnerB, und so weiter. Rollen / Profile in ASP.NET. Ordner werden Vorerkrankungen. Anyone?

War es hilfreich?

Lösung

Sie werden wahrscheinlich zu-Code übergeben möchten, dass. Es gibt nichts intrinsisch ASP.NET für Benutzerdateien zu verwalten. Allerdings sollte der Code zu tun, so relativ einfach. Unter der Annahme, der Benutzername ist einzigartig und nie ändert, können Sie den Benutzernamen mit einem Pfad (Verwendung Path.Combine) kombinieren und laden zu diesem Ort. Ich möchte auch, dass die Position sperrt, so dass niemand sonst darauf zugreifen kann.

Andere Tipps

Die Art und Weise, dass ich es in der Vergangenheit getan habe, ist eine Basis-Upload-Ordner zu verwenden (sagen Uploads) und in diesem Ordner einen Ordner erstellen aus der DB mit der ID des Benutzers. So ist die Struktur wäre .. \ uploads \ 145 für Benutzer mit der Benutzer-ID 145.

Das erste, was mein Code tut, ist zu sehen, zu überprüfen, ob der Ordner vorhanden ist und wenn nicht, dann ruft ein Directory.Create () (oder was auch immer die Syntax) den Ordner vor dem Hochladen zu erstellen.

Weitere Informationen, die Sie hilfreich finden könnten: Ich umbenennen die Datei auch eine GUID, die Konflikte Namen vermeidet, wenn sie zwei Dateien mit dem gleichen Namen hochladen. Der Nachteil ist, dass Sie in der Regel eine Tabelle mit dem ursprünglichen Dateinamen und dem physischen (GUID) Dateinamen beibehalten müssen.

Sie können prüfen, nur für die Existenz des Ordners und schaffen es für den Benutzer, wenn es nicht existiert hat, aber es gibt Auswirkungen auf die Sicherheit für diese. Vielleicht wollen Sie auch versuchen und Speichern von Daten in einer Datenbank und es einem Benutzer zu binden .. Dies hängt davon ab, was Sie lassen Nutzer hochladen, denke ich.

Es gibt ein paar Möglichkeiten, wie Sie dies tun können:

Verwendung von Formularauthentifizierung

Wenn Sie die Formularauthentifizierung verwenden, können Sie eine Konvention festgelegt, wobei ein Benutzerbenutzernamen oder die ID als Grundlage für einen Pfad in Ihrem Server dienen kann, in dem der Benutzer eine Datei hochladen. Beachten Sie, dass Benutzer keinen direkten Zugriff auf diesen Ordner haben. Sollte der Benutzer die Dateien von Ihrem Server über Ihre Web-Anwendung als auch herunterladen können

Verwendung von Windows-Authentifizierung

Wenn Sie Windows verwenden (zum Beispiel ActiveDirectory-) Authentifizierung können Sie sowohl den Benutzerzugriff schaffen, den physischen Speicherort des Ordners und über eine Web-Anwendung.

P. S. - Gut, dass Sie hier Marlon sehen

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top