Fork me on GitHub

Xanthia caches the login screen, causes silent failures  Bottom

  • I've noticed that if you allow Xanthia (aka "Themes") to cache content for the Users module, it will cache the contents of the login screen function. Because the login processing function checks the CSRF token ('authid') that is transmitted from this interface (which is desirable), transmitting a cached authid can result in silent login failures. (The error messages are never displayed, because Xanthia has cached the login screen.)

    You can solve this problem by telling Xanthia to ignore the Users module. Do this in Administration -> Layout [tab] -> Theme -> Settings -> Caching -> Modules to exclude from caching -> [Check the "Users" box].

    Xanthia's propensity for caching module output remains highly problematic. I turn off the caching engine for all modules that I use in my sites; pnRender caching works just as well, and is controllable by the module.

    And, to help people searching for resolutions to this issue:

    login fails
    login failure
    can't log in
    login error

    --
    --
    Ben Birney
    http://www.tilsontech.com/
    http://www.sophiasfall.com/
  • Yes, known issue but unfortunatelly
    without a warning about it in the Theme Admin Panel...
    if this Xanthia doesn't respect the pnRender nocache tags, or the authids are not fully converted to inserts (Smarty doesn't cache them), Theme cache should be commented out for 1.2 icon_rolleyes

    --
    - Mateo T. -
    Mis principios... son mis fines
  • It would probably be sufficient to have Xanthia automatically configured to not cache Users when it initializes. No other code changes would be needed if that were done.

    --
    --
    Ben Birney
    http://www.tilsontech.com/
    http://www.sophiasfall.com/
  • Please watch #983 covering the same issue.

    --
    Guite | ModuleStudio
  • Thanks Guite. That is exactly the bug report I was going to write before I decided to post here instead. :)

    --
    --
    Ben Birney
    http://www.tilsontech.com/
    http://www.sophiasfall.com/
  • Please also do not forget that Xanthia caching is able to break any multi-language setup. pnRender caching should be set to very short (max. 10 seconds) cache time for the same reason.
    Greetings,
    Chris

    --
    an operating system must operate
    development is life
    my repo
  • Ideally, the pnRender cache IDs would include the current language, effectively creating a separate cached version of each page (or whatever) per language. So, instead of having the object ID be the cache ID, have it be a combination, a la

    $pnRender->cache_id = "{$objectid}_{$language}";

    We do this in our multilingual page management module, and it works like a charm. Takes a little extra disk space, but not all that much. And caching is, after all, trading disk space for speed.

    --
    --
    Ben Birney
    http://www.tilsontech.com/
    http://www.sophiasfall.com/
  • 0 users

This list is based on users active over the last 60 minutes.