Frage

Ich bin mit ASP.NET Sitemaps mit einem benutzerdefinierten Role Provider eine Website Menü zu erzeugen, die verfügbaren Links zeigt je nach Benutzerrolle.

Dies funktioniert gut, wenn die Rollen nicht ändern, während ein Benutzer angemeldet ist. Wenn die Rollen ändern sich, während der Benutzer angemeldet ist, wird das Menü nicht automatisch aktualisiert (Ich habe überprüft, und die Roles.GetRolesForUser () wird nur bei der Anmeldung genannt). Dies führt dazu, dass der Benutzer Zugriff auf die Bereiche der Website er nicht berechtigt ist, zu sehen. Dieser Zugang ist nicht nur optisch (in Form der Menüpunkte angezeigt werden), aber die Zugangsbeschränkungen wie in der Web.config definiert sind entweder nicht eingedurchgesetzt werden.

Gibt es eine Möglichkeit, das Menü / Zugriffskontrolle refresh auszulösen, wenn sich die Rollen geändert werden? Oder muss ich eine Abmeldung erzwingen?

Vielen Dank im Voraus

EDIT: Ich habe gerade erkannte ich die Rolle Manager CacheRolesInCookie hatte aktiviert, was bedeutete, dass GetRolesForUser () wurde nur einmal getroffen zu werden und alle weiteren Rollenüberprüfungen wurden mit dem Cookie gemacht. Jede Art und Weise das Cookie aktualisieren programmatisch oder muss ich leben mit der Cache ausgeschaltet? Vielleicht Entfernen nur das Cookie es lösen?

War es hilfreich?

Lösung

Wir waren für die Nicht-Cache-Version, die funktioniert.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top