Обновление меню на основе карты сайта на сайте ASP.NET при изменении ролей - PullRequest
1 голос
/ 14 сентября 2009

Я использую ASP.NET Sitemaps с пользовательским поставщиком ролей для создания меню сайта, в котором отображаются доступные ссылки в зависимости от роли пользователя.

Это прекрасно работает, если роли не меняются, когда пользователь вошел в систему. Когда роли меняются, когда пользователь вошел в систему, меню не обновляется автоматически (я проверил, а Roles.GetRolesForUser () вызывается только при входе в систему). Это приводит к тому, что пользователь имеет доступ к тем областям сайта, на которые у него нет прав доступа. Этот доступ не только визуальный (в форме отображаемых элементов меню), но и ограничения доступа, определенные в Web.config, также не применяются.

Есть ли способ вызвать обновление меню / контроля доступа при смене ролей? Или мне нужно принудительно выйти из системы?

Заранее спасибо

РЕДАКТИРОВАТЬ: Я только что понял, что у меня был включен cacheRolesInCookie диспетчера ролей, что означало, что GetRolesForUser () срабатывал только один раз, и любые дальнейшие проверки ролей выполнялись с использованием куки. Есть ли какой-нибудь способ обновить куки программно или мне нужно жить с выключенным кешем? Может быть, простое удаление cookie решит это?

1 Ответ

1 голос
/ 29 сентября 2009

Пошёл для некэшируемой версии, которая отлично работает.

...