Pergunta

Eu estou usando ASP.NET Sitemaps com um costume Provedor de papel para gerar um menu do site que exibe links disponíveis dependendo da função do usuário.

Isso funciona bem se os papéis não mudam enquanto o usuário está logado. Quando os papéis mudam enquanto o usuário está conectado, o menu não é atualizado automaticamente (Eu verifiquei, eo Roles.GetRolesForUser () só é chamado no login). Isto resulta em que o usuário tenha acesso às áreas do site que ele não tem permissão para ver. Este acesso não é apenas visual (na forma dos itens do menu que está sendo exibido), mas as restrições de acesso, conforme definido no Web.config não estão sendo aplicadas também.

Existe uma maneira para acionar a atualização controle Menu / acesso quando os papéis são trocados? Ou eu preciso para forçar um logout?

Agradecemos antecipadamente

EDIT: Eu só percebi que tinha o Role Manager cacheRolesInCookie habilitado, o que significava que GetRolesForUser () só foi ser atingido uma vez e quaisquer outras verificações de funções foram feitas usando o cookie. Qualquer forma de atualizar o cookie de programação ou que eu tenho que viver com o cache desligado? Talvez apenas removendo o cookie irá resolvê-lo?

Foi útil?

Solução

Fui para a versão não armazenada em cache, que funciona bem.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top