Impersonation Clashes with Cached Web Content Templates

Issue

  • Web Content Templates can be configured for caching to boost performance.
  • When not cached, the generated HTML is rendered for each request. When cached, the generated HTML is stored in the cache and reused for all subsequent requests until the cache entry is cleared or expires.
  • However, impersonation introduces a conflict. The rendered HTML differs for users who are impersonated because the URLs include the ?doAsUserId parameter.
  • In this scenario, it might happen that either the impersonating user or regular users might see incorrect links, specifically when the cache is refreshed by one user type while the other is viewing the page.

Environment

  • Quarterly Releases

Resolution

  • The observed behavior is expected due to the caching mechanism. The template, once rendered, is cached and served as-is for subsequent requests. Impersonation changes the URL, but the cached version doesn't reflect this change, leading to incorrect links.
  • To prevent this issue, disable template caching, especially when impersonation is active.

Additional Information

这篇文章有帮助吗?
0 人中有 0 人觉得有帮助