Uploaded image for project: 'Sakai'
  1. Sakai
  2. SAK-39769

Implement configurable refreshUser cache in authz

    Details

    • Type: Task
    • Status: CLOSED
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 2.6.x, 2.7.x
    • Component/s: Kernel
    • Labels:
      None

      Description

      Every user.login operation (for portal login, basic auth or dav) calls refreshUser() to sync the user's realms with an "external" group provider (which could be a CM implementation).

      Such implementations may be slow and expensive (i.e. involve a lot of db queries or slow to run), and it's thus not desireable to do this too often. Specifically in the case of WebDAV, currently every dav operation generates a new login, but the same would be true for users who login repeatedly through the UI or webservice, basic auth or other methods.

      To reduce performance impact, implement a cache with a short default TTL (e.g. 1 minute) so that refreshUser is only called for each user once within the cache TTL seconds.

      Develop from the "in-progress" patch submitted by Matthew Buckett for SAK-11636

        Gliffy Diagrams

          Zeplin

            Attachments

              Issue Links

                Activity

                  People

                  Assignee:
                  smarquard Stephen Marquard
                  Reporter:
                  smarquard Stephen Marquard
                  Votes:
                  0 Vote for this issue
                  Watchers:
                  2 Start watching this issue

                    Dates

                    Created:
                    Updated:
                    Resolved:

                      Git Integration