Когда для свойства CacheRolesInCookie установлено значение true в файле Web.config, информация о роли для каждого пользователя сохраняется в файле cookie. Когда управление ролью проверяет, находится ли пользователь в определенной роли, cookie-файл роли проверяется перед вызовом поставщика ролей для проверки списка ролей в источнике данных. Файл cookie динамически обновляется для кэширования последних утвержденных имен ролей.Роль-провайдер и управление ролями
a) Насколько я понимаю вышеприведенный текст, хотя управление ролями проверяет роли cookie, поставщик ролей по-прежнему проверяет список ролей в источнике данных?
b) Вышеупомянутый текст говорит о ролевом управлении, которое вызывается перед поставщиком ролей. Какой класс действует как управление ролью?
Thanx
EDIT:
Насколько я понимаю, информация кэшируется в печенье включает в себя все доступные роли, а не только те, ваш пользователь является членом. Поэтому я не считаю, что база данных будет ударяться каждый раз.
С этого же сайта, как цитата из моего предыдущего поста:
Roles.CacheRolesInCookie Свойство Значение
верно, если роли текущего пользователя кэшируются в куки; в противном случае - false. Значение по умолчанию - true.
Это означает, что в cookie хранятся только роли для текущего пользователя. Кроме того, если все роли, где хранится в cookie, тогда менеджер ролей все равно должен будет проверить БД, чтобы узнать, какая из ролей является текущим пользователем?
Управление ролями осуществляется классом System.Web.Security.Roles.
Я думал, что текст используется термин role management
для обозначения класса/модуля, который вызывает методы System.Web.Security.Roles, которые, в свою очередь, проверить, является ли пользователь членом определенной роли?
Лучший способ ответить на ваш вопрос - проверить: запустить SQL-трассировку и проверить, при каких условиях база данных получает удар. Вы можете использовать класс Roles для выполнения всех функций управления ролью - от добавления пользователей к роли, проверки наличия роли. – Richard