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

User EIDs containing upper case characters inserted into Course Management tables causes authZ issues

    XMLWordPrintable

    Details

    • Test Plan:
      Hide

      **Steps to reproduce:

      1. Insert users from your SIS that with user EIDs that contain upper case letters. E.g. for Sakora:
        1. In people.csv, define some entries where the student's eid contains uppercase letters
        2. Add the students to a section in sectionMembership.csv
        3. Run Sakora
      2. In a course site that uses a section which contains users whose eids contain upper case letters, view, say, the gradebook

      Symptom: the students with EIDs containing uppercase characters are not consistently included in the student list

      Show
      **Steps to reproduce: Insert users from your SIS that with user EIDs that contain upper case letters. E.g. for Sakora: In people.csv, define some entries where the student's eid contains uppercase letters Add the students to a section in sectionMembership.csv Run Sakora In a course site that uses a section which contains users whose eids contain upper case letters, view, say, the gradebook Symptom: the students with EIDs containing uppercase characters are not consistently included in the student list

      Description

      See the testing section for a description of the issue

      If you query the sakai_realm_rl_gr, you can see the user popping in and out of the site, likely once every time refreshAuthzGroup is invoked.

      Note that user EIDs in sakai_user_id_map are always inserted in lower case.

      My best guess to the cause is that

      1. RefreshAuthzGroup adds the users from the providers.
      2. The next RefreshAuthzGroup invocation checks the providers to see if the student is still there
        1. It looks them up in lower case (using the value from sakai_user_id_map)
        2. It doesn't match the cm_ tables which maintain the same case
        3. The user is therefore removed from the realm
      3. RefreshAuthzGroup adds the users from the providers again, and the process repeats

       

      Proposed solution: convert any user EIDs to lower case before they are inserted into the Course Management tables

       

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                bbailla2 Brian Baillargeon
                Reporter:
                bbailla2 Brian Baillargeon
              • Votes:
                0 Vote for this issue
                Watchers:
                1 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Git Source Code