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