Я работаю над веб-приложением, использующим ASP.NET 4.0, C # и IIS7.Веб-приложение представляет собой систему управления контентом, которая определяет несколько пользовательских ролей, таких как редактор и администратор.Этими пользователями и ролями управляет структура членства asp.net, а связанные таблицы базы данных интегрируются в базу данных веб-приложения с помощью aspnet_regsql.Наконец, веб-приложение работает под ApplicationPoolIdentity.Таким образом, веб-приложение работает под виртуальной учетной записью «IIS AppPool \», которую оно не разделяет ни с каким другим приложением.
Сайт разработан таким образом, что учетные записи пользователей выдаются администратором (общедоступных нет).страница регистрации), хотя эта деталь может быть неактуальной.В любом случае администратор должен иметь возможность создавать и удалять пользователей и редактировать любой контент на сайте.Редакторы, с другой стороны, должны иметь возможность редактировать только назначенные разделы сайта.Наконец, анонимные посетители сайта должны иметь возможность просматривать только контент без возможности редактирования.
Вопрос в том, не будет ли небезопасно просто предоставлять доступ на чтение и запись в базе данных SQL Server дляIIS AppPool \ виртуальная учетная запись и предоставление функциональности различным ролям пользователей в базовой бизнес-логике для веб-приложения?
Я бы так не думал, но из-за необходимости целостности данных я подумалможет быть хорошей идеей, чтобы узнать мнение другого разработчика.
Если (и только если) это создает непредвиденный риск для безопасности, было бы лучше использовать олицетворение, хранить несколько строк подключения в Интернете.config файл с аутентификацией SQL или отслеживание пользовательских привилегий в самой базе данных?