Как я могу связать пользователей с соответствующими папками в ASP.NET? - PullRequest
4 голосов
/ 24 сентября 2008

Когда пользователь A загружает файл, его файлы будут загружены в папку A, когда пользователь B, в папку B и т. Роли / Профили в ASP.NET. Папки будут уже существующими. Кто-нибудь?

Ответы [ 4 ]

5 голосов
/ 24 сентября 2008

Возможно, вы захотите написать это вручную. В ASP.NET нет ничего общего для управления пользовательскими файлами. Однако код для этого должен быть относительно простым. Предполагая, что имя пользователя уникально и никогда не меняется, вы можете объединить имя пользователя с путем (использовать Path.Combine) и загрузить в это местоположение. Я также заблокировал бы это место, чтобы никто другой не мог получить к нему доступ.

3 голосов
/ 24 сентября 2008

Способ, которым я занимался в прошлом, - это использовать папку базовой загрузки (скажем, загрузки) и в этой папке создать папку, используя идентификатор пользователя из БД. Таким образом, структура будет .. \ uploads \ 145 для пользователя с идентификатором пользователя 145.

Первое, что делает мой код, это проверяет, существует ли папка, и если нет, то вызывает Directory.Create () (или любой другой синтаксис) для создания папки перед загрузкой.

Дополнительная информация, которая может оказаться полезной: я также переименую файл, используя GUID, который позволяет избежать конфликтов имен, если они загружают 2 файла с одинаковым именем. Недостатком является то, что вам обычно нужно поддерживать таблицу с исходным именем файла и физическим именем файла (GUID).

0 голосов
/ 24 сентября 2008

Есть несколько способов сделать это:

Использование проверки подлинности с помощью форм

Если вы используете проверку подлинности с помощью форм, вы можете установить соглашение, в котором имя пользователя или идентификатор пользователя могут служить основой для пути на вашем сервере, где пользователь может загрузить файл. Обратите внимание, что ваш пользователь не будет иметь прямого доступа к этой папке: он также сможет загружать файлы с вашего сервера через веб-приложение.

Использование аутентификации Windows

Если вы используете проверку подлинности Windows (например, ActiveDirectory), вы можете предоставить пользователю доступ как к физическому расположению папки, так и через веб-приложение.

P.S. - Рад тебя видеть, Марлон!

0 голосов
/ 24 сентября 2008

Вы можете просто проверить наличие папки и создать ее для пользователя, если она не существует, но это имеет значение для безопасности. Вы также можете попытаться сохранить данные в базе данных и привязать их к пользователю ... это зависит от того, что вы разрешаете пользователям загружать, я думаю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...