1

We are working on website which was migrated from version 7.2 to 8.2 through the Express Migration tool. In the application a service is configured to clear the cache. When the service runs, the cache is cleared however the users logged to the website when the cache is cleared are not logged out, they still remain logged in.

Is this expected behavior in version 8.2 or is a configuration change required?

4
  • Just think - if that were to happen, every time you publish your website, any logged in users would be kicked out with no apparent reason why. That would be a terrible experience for your users.
    – Richard Seal
    Commented Apr 5, 2018 at 15:49
  • @Richard: Agree with you as terrible experience but this is what expected by client. May be the reason is when content is published by Content authors in 7.2, user would not get the latest updated records/news/alerts unless the cache is cleared. If this cache cleaning issue is resolved in 8.2 version and logged users can see all updated News/alerts/records, we can suggest that approach to the client. Please suggest Commented Apr 6, 2018 at 14:25
  • The output cache is cleared on a publish. I'm not sure why your logged in users would not be able to see new content unless they log out/back in. Sounds like there is something custom in there that is caching in the session?
    – Richard Seal
    Commented Apr 6, 2018 at 14:27
  • Basically, what custom code written for clearing the cache is doing, it is clearing all the parameters of Cookie. so users logs out and hence forced to login again to see the updated contents. Any way round to achieve it. Commented Apr 6, 2018 at 14:37

2 Answers 2

2

This is an expected behaviour, users are not persisted using caching.

If you want to kick off user you should use next link :

yourlocalhost/sitecore/client/Applications/LicenseOptions/KickUser

enter image description here

1

Yes, it is expected behavior. Users login information is not saved in cache. You need to add additional code to your service to logout users. This code should work for you:

foreach (var session in DomainAccessGuard.Sessions)
{
  DomainAccessGuard.Kick(session.SessionID);
}

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.