Программная настройка авторизации ASP.NET для подкаталога в веб-приложении - PullRequest
1 голос
/ 12 февраля 2009

У меня есть приложение ASP.NET, которое использует CreateUserWizard для регистрации новых пользователей. Частью моего процесса регистрации является создание «домашнего каталога» для пользователей, куда они смогут загружать файлы.

Я бы хотел использовать функции авторизации ASP.NET для ограничения доступа к «домашнему каталогу». Только зарегистрированный пользователь, назначенный для каталога, должен иметь доступ.

Я думаю, что знаю, как сделать это с помощью Web.config. Я могу сделать что-то вроде следующего:

<?xml version="1.0"?>
<configuration>
.
.
<location path="UserHomeDirectories">
   <system.web>
     <authorization>
       <deny users="?"/>
     </authorization>
   </system.web>
</location>

<location path="UserHomeDirectories/MyUser">
   <system.web>
     <authorization>
       <allow users="MyUser"/>
       <deny users="*"/>
     </authorization>
   </system.web>
</location>
.
.
.

Этот пост почти отвечает на мой вопрос, но может ли кто-нибудь помочь мне с моей конкретной ситуацией? Еще одна вещь: не изменяет ли Web.config перезапуск приложения? (т.е. когда мой код в коде создания / авторизации каталога в моем CreatedUser обработчике событий класса CreateUserWizard запущен?)

Спасибо за вашу помощь!

1 Ответ

3 голосов
/ 12 февраля 2009

Вместо использования атрибута location в вашем приложении web.config, вы можете поместить новый в папку пользователя. В этом новом файле вы указываете правила авторизации для этой конкретной папки, и они будут переопределять правила для всего приложения.

Так как это не изменит ваш исходный файл web.config, ваше приложение не будет перезапущено.

...