У меня есть приложение SL, где я должен реализовать подсистему управления файлами. У меня иерархическая структура файлов \ folders (просто описание). Также каждый файл \ папка имеет собственные разрешения для пользователей \ групп. Я бы хотел, чтобы один пользователь, у которого есть разрешение на загрузку файла, не мог передать его другому пользователю, у которого нет этого разрешения. Поэтому, если у пользователя есть разрешение на загрузку, он получает ссылку www.site.com/file.rar и загружает его. Но он мог дать эту ссылку другому человеку без разрешения. Какой алогорифм более подходит в этом случае? Любая помощь будет оценена по достоинству.Защитить ссылку для общедоступных загрузок
ответ
Веб-сервер должен быть ответственным и обеспечить аутентификацию и авторизацию для любых файловых запросов. Это не относится к Silverlight, поскольку это общая проблема.
Ваш веб-сервер должен проверить каждый запрос на загрузку файла в отношении текущего пользователя (который, если вы используете ASP.NET, может использовать один из методов проверки подлинности, таких как Forms Auth или Windows Auth, например). Например, у вас может быть обработчик HTTP, который выполняет эту проверку и позволяет загружать (и предоставляет байты загружаемого файла). Here's более старый пример, но похоже, что он все еще применим для ASP.NET, например.
Или вы могли бы предоставить безопасно сгенерированный, возможно, один раз использовать?), Токен вместо имени файла, который сопоставляется с запросом предварительно авторизированного файла и снова подает файл по требованию. Во многих отношениях это сложнее управлять и может привести к менее приятному пользователю, если не сделать его тщательно (особенно если загрузка может быть прервана и ее необходимо перезапустить, тогда старый токен может быть недействительным и т. Д.).
Я бы пошел с первым предложением, поскольку он более надежный и простой в управлении и управлении (игнорируя особенности технологии, поскольку этот шаблон доступен на всех веб-платформах).
Вы можете хранить информацию о разрешении в базе данных. Тогда каждый пользователь будет иметь свой собственный аккаунт и набор разрешений. Затем вы можете установить разрешения групп пользователей для групп файлов или отдельных файлов.
Возможно, это также может быть достигнуто с использованием информации о разрешении файла, хранящейся на уровне операционной системы.
После этого вы можете иметь динамическую страницу, которая принимает имя файла в качестве запроса и проверяет комбинацию имени пользователя и пароля и проверяет, разрешен ли этот файл для этого человека.
Поэтому, когда кто-то идет по этой ссылке на файл, они сначала должны указать правильные учетные данные для загрузки, иначе им будет отказано в доступе.
Я надеюсь, что это помогает, это не было непосредственно SilverLight ответ, но более от языка
- 1. Как защитить файлы от несанкционированных загрузок
- 2. Защитить каталог загрузок в приложении ASPP MVC +
- 3. Как защитить статическую ссылку HTML
- 4. Как защитить ссылку экземпляра делегата
- 5. Codeigniter: как защитить изображения от общедоступных и поисковых систем
- 6. Как защитить звуковую ссылку html5 от загрузки
- 7. PHP-защита загрузок
- 8. хостинг для крупных загрузок
- 9. API для активных загрузок
- 10. Дизайн базы данных для обработки общедоступных и не общедоступных данных
- 11. Как добавить ссылку на проект, чтобы избежать дополнительных загрузок
- 12. StrongLoop AccessToken Create для общедоступных
- 13. Grating offline_access для общедоступных приложений
- 14. Шаблон завершения задачи iOS для асинхронных загрузок и загрузок
- 15. Drupal: модуль для хранения общедоступных и частных файлов
- 16. Приложение для весенних загрузок intellij
- 17. Получение загрузок для пользователей YouTube
- 18. Хранение файлов для одноразовых загрузок
- 19. Проверка количества загрузок для файла
- 20. Использование ftplib для многопоточных загрузок
- 21. neo4j traversal для связанных загрузок
- 22. Количество загрузок Windows store
- 23. Рекомендация для общего пользования для общедоступных сайтов
- 24. Несколько загрузок
- 25. Несколько загрузок
- 26. Архив загрузок:
- 27. Как защитить ссылку, которая будет загружаться только конкретными пользователями?
- 28. Facebook Graph API возвращает 400 для общедоступных видео пользователей, но 200 для общедоступных видеороликов
- 29. Использование «открытых» и «общедоступных»
- 30. . Конфигурация библиотеки общедоступных классов.