У меня есть веб-сервер, с которого пользователи могут загружать файлы, специфичные для каждого пользователя. Чтобы быть уверенным, что каждый пользователь может загружать только свои собственные файлы, они должны пройти аутентификацию с помощью Basic-Authentication. Таким образом, для каждого пользователя на сервере есть учетная запись Windows, которая имеет права на чтение для конкретной папки пользователя.
Теперь я хочу перенести эту функциональность на другой сервер. Я не хочу создавать учетные записи Windows для пользователей, но при этом сохраняю базовую аутентификацию.Поэтому я использую Custom Basic Authentication HTTP Moduleв сочетании с Custom MembershipProvider, который позволяет мне определять пользователей в web.config.
Аутентификация работает нормально, но после входа в систему с помощью jack
или jill
(см. web.config) я могу получить доступ к обоим местоположениям Dir1
и Направление2
. Это также имеет место, если я закомментирую часть
в тегах местоположения.
Дополнительная информация: Я создал файл Default.aspx и добавил
<% Response.Write(HTTPContext.Current.User.Identity.Name) %>
, который возвращает правильное имя пользователя в зависимости от того, кто вошел в систему.
<% Response.Write(HTTPContext.Current.User.Identity.IsAuthenticated) %>
возвращает True.
Что мне нужно сделать, чтобы только jack
мог получить доступ (= загружать файлы из) Dir1
и только jill
мог получить доступ (= скачивать файлы из) Dir2
, а не наоборот?
РЕДАКТИРОВАТЬ: я попытался добавить файлы web.config для каждого подкаталога вместо тегов местоположения, как указано utkai, - с тем же результатом. Каждый пользователь может получить доступ к любому каталогу.
Вот мой файл Web.config: