У меня есть веб-приложение asp.net с проверкой подлинности форм, а пользователи (учетные данные) проверяются на активный каталог, имя пользователя - это атрибут samAccountName из AD. Теперь мне нужно разрешить пользователям получать доступ к некоторым файлам, находящимся в общем доступе к файлу, где каждый пользователь имеет свою собственную папку.
Первое доказательство концепции работает следующим образом:
-
appPool в IIS настроен для работы под некоторым пользователем домена, и этому пользователю был предоставлен доступ к файловому ресурсу и всем пользовательским папкам с правами доступа к ресурсам
-
когда пользователь регистрируется в веб-приложении, только содержимое папки на пути "\\ myFileServer\username" видимо для него. И при загрузке файлов они сохраняются в "\\ myFileServer\username".
Пока это работает, похоже, что оно вообще не безопасно. Первая проблема заключается в том, что пользователь, у которого работает пул приложений, имеет доступ к папкам всех пользователей. И еще большая проблема заключается в том, что только имя пользователя определяет, в какую папку у вас есть доступ.
Итак, мой вопрос в том, каков правильный/лучший способ сделать это? Я читал о выдаче себя за пользователя, но это не рекомендуется, если я правильно понял? И у меня нет аутентификации Windows, поскольку веб-приложение должно быть доступно из Интернета.