Это зависит от того, является ли это интернет или внутренним приложением интрасети.Если он внутренний и использует проверку подлинности Windows или проверку подлинности в активном каталоге, вы можете защитить файлы, используя разрешения на основе файлов.
Если это внешнее интернет-приложение, вам придется разработать некоторую логику дляфайлы.Давайте предположим, что ваша Аутентификация является надежной - вы можете точно подтвердить, что пользователь является тем, кем они себя называют.Теперь вам нужна Система авторизации - что-то, что определяет доступ к идентифицированному пользователю.
Предположим, у вас есть идентификатор для пользователя 101. Вы можете добавить 101_ к началуимена файлов, к которым может иметь доступ только этот пользователь.101_report.pdf Пример.Вам нужно было бы написать код, чтобы предотвратить раздачу файлов с префиксом с неправильным идентификатором.(вы можете удалить 101_ после выполнения проверки авторизации, если вы не хотите, чтобы ваши пользователи видели ее, или вы можете сохранить все файлы пользователя в папке с именем 101).
Если вы хотитеДля доступа к файлам, доступным нескольким пользователям, вам необходимо разработать способ связывания пользователя с файлом и проверки этих ссылок каждый раз, когда вы отображаете свою страницу.Возможно, вы захотите также рассмотреть группы, если вы можете логически группировать пользователей в реальные группы, которые будут совместно использовать данный набор файлов.Но делайте это только в том случае, если вам это действительно нужно, поскольку это добавляет совершенно новый уровень сложности.
Один из распространенных способов реализовать это - хранить файлы в базе данных в виде двоичных данных.Не беспокойтесь о том, что ваша база данных станет слишком большой, если вы используете SQL Server.Двоичные поля не хранятся в самих таблицах данных, поэтому они не влияют на производительность.Это позволит вам очень быстро найти файлы, к которым у вошедшего в систему пользователя есть доступ, используя быстрые соединения с базой данных.Затем выведите данные в поток ответов, когда пользователь запрашивает определенный файл (после очередной проверки, конечно, вы не можете быть слишком осторожны).