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

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

    XMLWordPrintable

Details

    • MOODLE_36_STABLE, MOODLE_37_STABLE
    • MOODLE_36_STABLE, MOODLE_37_STABLE
    • patch-1
    • 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

    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

              mgauk Martin Gauk
              mgauk Martin Gauk
              Luca Bösch Luca Bösch
              Andrew Lyons Andrew Lyons
              Janelle Barcega Janelle Barcega
              Votes:
              11 Vote for this issue
              Watchers:
              26 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:
                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