Я провожу некоторые исследования по безопасности и картам сайтов в ASP.net и, к сожалению, не хватает времени. Я не слишком много работал с безопасностью ASP.net, поэтому я не совсем уверен, правильно ли я направляюсь.
Вот моя проблема:
У меня есть общедоступный веб-сайт (т.е. в Интернете), на котором любой пользователь может зарегистрироваться. Сайт будет разработан с использованием веб-форм ASP.net. Эти пользователи могут создавать других пользователей и назначать им разные роли.
Разные роли имеют разные ограничения, и меню отображается соответствующим образом. Например, пользователь, выступающий в роли администратора, может видеть все пункты меню. Принимая во внимание, что ограниченный пользователь увидит только некоторые из этих пунктов меню.
Пользователи должны иметь возможность изменять, к каким страницам могут обращаться определенные роли. Например, если Role1 может выполнить задачу X, мы хотели бы в какой-то момент изменить Role1, чтобы он больше не выполнял задачу X. Это будет сделано с помощью встроенного приложения.
Типы пользователей (роли) должны быть сохранены в базе данных. Права пользователя (к каким страницам может иметь доступ каждый тип) также должны быть сохранены в базе данных.
Вот что я думаю сделать:
- Реализация встроенной в ASP.net настройки авторизации и аутентификации с использованием файла web.config
- Использование файлов Sitemap для динамического создания меню / хлебных крошек из базы данных
Я полагаю, что можно сделать второе с использованием пользовательских провайдеров (пожалуйста, исправьте меня, если я ошибаюсь). Но я не совсем уверен, возможно ли динамически настроить файл web.config.
Полагаю, это скорее ответ «да / нет», но я просто хотел бы убедиться, что я не пойду не в том направлении. Я буду использовать VS2008 и .net 3.5 framework.
Большое спасибо.