2010-05-09 5 views
0

Когда для свойства 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, которые, в свою очередь, проверить, является ли пользователь членом определенной роли?

+1

Лучший способ ответить на ваш вопрос - проверить: запустить SQL-трассировку и проверить, при каких условиях база данных получает удар. Вы можете использовать класс Roles для выполнения всех функций управления ролью - от добавления пользователей к роли, проверки наличия роли. – Richard

ответ

1

Управление ролью обрабатывается System.Web.Security.Roles класс. Насколько я понимаю, информация, хранящаяся в кэше в файле cookie, включает все роли, а не только те, к которым принадлежит ваш пользователь. Поэтому я не считаю, что база данных будет ударяться каждый раз.

Если вы должны были изменить список доступных ролей (т. Е. Создав новую роль), то провайдер будет аннулировать кеш в cookie в следующем раунде.

// Richard.

+0

привет, см. Мое редактирование – AspOnMyNet

Смежные вопросы