У меня есть приложение, которое использует проверку подлинности Windows и SqlRoleProvider для проверки подлинности пользователя и управления ролями соответственно. Он отлично работает с моими тестовыми пользователями, которых я добавил в базу данных по умолчанию. Приложение требует, чтобы пользователи вошли в систему (используя учетные данные Windows), а затем смогли использовать это внутреннее приложение в качестве основного «пользователя». Если пользователя нужно добавить в роль высокого уровня, администратор будет нести ответственность за это после первого входа в систему.
С учетом сказанного, как мне добавить пользователя к роли по умолчанию при первом входе в систему? Логично, что я знаю, что мне нужно было бы вызвать Roles.IsUserInRole (), а затем добавить их, если это не так; однако, где бы я это сделал? У меня проблемы с поиском того, какое событие в Global.asax использовать.
Спасибо
EDIT:
Чтобы немного расширить сценарий, я не использую систему провайдеров с полным членством из-за требований по написанию новых провайдеров, позволяющих хранить строку соединения вне web.config. Я не использую какую-либо форму регистрации или страницу входа и позволяю встроенной аутентификации Windows в IIS обрабатывать аспекты аутентификации, в то время как мой улучшенный SqlRoleProvider управляет ролями пользователей. Система работает нормально для пользователей, у которых есть роли установки через жестко закодированные тесты. Я просто ищу способ добавления новых пользователей (которые будут проходить проверку подлинности IIS) для немедленного добавления к роли «Пользователи» по умолчанию. Я думаю, что нашел это; однако сейчас я изучаю способы, чтобы он не срабатывал при каждом запросе по соображениям производительности.