Uploaded image for project: 'Moodle'
  1. Moodle
  2. MDL-66071

Cannot update user profile with non-internal auth method such as LDAP

    XMLWordPrintable

    Details

    • Testing Instructions:
      Hide

      Prerequisites

      1. Docker

      Setup

      1. Run the docker CAS container:

        docker run --rm --name cas -p 8080:8080 -p 8443:8443 -dt moodlehq/moodle-docker-cas:dev
        

      2. Login as admin to your site
      3. Open Site admin => Plugins => Authentication => Manage authentication
      4. Edit the settings for CAS
      5. Set the following:
        1. Hostname: localhost
        2. Port: 8443
        3. Base URI: cas/
        4. Multi Auth: Yes
      6. Save changes
      7. Enable CAS
      8. If you have an existing user with username 's10' delete it
      9. Create a new user with:
        1. Username: s10
        2. Authentication method {{CAS Server (SSO)}

      Testing

      1. Browse to "Site administration" > "Users" > "Accounts" > "Browse a list of users"
      2. Find the user that you created (Filter using "Show more" > for "Authentication" select "LDAP server)
      3. Edit the user
      4. Set:
        1. "Choose an authentication method" to "Manual Accounts"
        2. "username" to "testusernamechange1"
      5. Click "Update Profile"
      6. Edit the user again
      7. Set
        1. "Choose an authentication method" to "LDAP Server"
      8. Click "Update Profile"
        1. Confirm that you were able to change the user
      Show
      Prerequisites Docker Setup Run the docker CAS container: docker run --rm --name cas -p 8080:8080 -p 8443:8443 -dt moodlehq/moodle-docker-cas:dev Login as admin to your site Open Site admin => Plugins => Authentication => Manage authentication Edit the settings for CAS Set the following: Hostname: localhost Port: 8443 Base URI: cas/ Multi Auth: Yes Save changes Enable CAS If you have an existing user with username 's10' delete it Create a new user with: Username: s10 Authentication method {{CAS Server (SSO)} Testing Browse to "Site administration" > "Users" > "Accounts" > "Browse a list of users" Find the user that you created (Filter using "Show more" > for "Authentication" select "LDAP server) Edit the user Set: " Choose an authentication method " to "Manual Accounts" " username " to "testusernamechange1" Click "Update Profile" Edit the user again Set "Choose an authentication method" to "LDAP Server" Click "Update Profile" Confirm that you were able to change the user
    • Affected Branches:
      MOODLE_36_STABLE, MOODLE_37_STABLE
    • Fixed Branches:
      MOODLE_36_STABLE, MOODLE_37_STABLE
    • Pull 3.6 Branch:
      patch-3
    • Pull 3.7 Branch:
      patch-2
    • Pull Master Branch:
      patch-1

      Description

      You cannot change a user profile when the authentication method is a non-internal auth method (like LDAP and Shibboleth). This gives an error message that the username is required.

      This is a regression from MDL-64383

        Attachments

          Issue Links

            Activity

              People

              • Votes:
                11 Vote for this issue
                Watchers:
                26 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:
                  Fix Release Date:
                  9/Sep/19

                  Time Tracking

                  Estimated:
                  Original Estimate - 0 minutes
                  0m
                  Remaining:
                  Remaining Estimate - 0 minutes
                  0m
                  Logged:
                  Time Spent - 1 hour, 31 minutes
                  1h 31m