Domanda

Sto usando Sitemap ASP.NET con un'abitudine Provider di ruoli per generare un menu del sito che visualizza i collegamenti disponibili in base al ruolo dell'utente.

Funziona bene se i ruoli non cambiano mentre un utente è connesso. Quando i ruoli cambiano mentre l'utente ha effettuato l'accesso, il Menu non viene aggiornato automaticamente (ho verificato e Roles.GetRolesForUser () viene chiamato solo al momento dell'accesso). Ciò comporta che l'utente abbia accesso alle aree del sito che non ha il permesso di vedere. Questo accesso non è solo visivo (sotto forma delle voci di menu visualizzate), ma non vengono neppure applicate le restrizioni di accesso definite nel Web.config.

Esiste un modo per attivare l'aggiornamento del menu / controllo accessi quando i ruoli vengono cambiati? O devo forzare un logout?

Grazie in anticipo

EDIT: Mi sono appena reso conto di avere abilitato il ruolo Manager cacheRolesInCookie, il che significava che GetRolesForUser () veniva colpito solo una volta e ogni ulteriore controllo del ruolo veniva effettuato utilizzando il cookie. Un modo per aggiornare il cookie a livello di codice o devo vivere con la cache disattivata? Forse la semplice rimozione del cookie lo risolverà?

È stato utile?

Soluzione

Sono andato per la versione non memorizzata nella cache, che funziona bene.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top