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

External DB Authentication Data Mapping Pre-fill Failure

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major Major
    • None
    • 2.8.5, 2.9
    • Authentication
    • MOODLE_28_STABLE, MOODLE_29_STABLE
    • MDL-49892-master
    • Hide

      If you choose to complete this test on a unix machine you will need to use the FreeTDS drivers. It is not recommended as you will need a way to create the ODBC data source anyway.

      1. In MSSQL create a new table with at least four columns: Username and password, one other ordinary field (e.g. firstname), and one custom user profile field
      2. Insert one row
      3. Open ODBC (Data Sources)
      4. Create a new data source pointing to that MSSQL server with the appropriate default database
      5. Install the mssql_odbc driver
      6. Create a moodle instance (your DB doesn't matter, choose whatever is easiest e.g. postgres)
      7. Enable external db auth
      8. Instead of the database host, write the name of your odbc data source
      9. Select mssql_odbc
      10. Type the name of your table (the database chosen will be the default database you chose in the ODBC program)
      11. Write the names of your username and password fields
      12. Write the names of your other two fields
      13. Try to log in with the username and password you inserted into the mssql table
      14. You should successfully log in and be taken to the edit profile screen
      15. Make sure all the fields are correctly pre-filled
      1. Repeat steps, but using MySQL instead of ODBC
      Show
      If you choose to complete this test on a unix machine you will need to use the FreeTDS drivers. It is not recommended as you will need a way to create the ODBC data source anyway. In MSSQL create a new table with at least four columns: Username and password, one other ordinary field (e.g. firstname), and one custom user profile field Insert one row Open ODBC (Data Sources) Create a new data source pointing to that MSSQL server with the appropriate default database Install the mssql_odbc driver Create a moodle instance (your DB doesn't matter, choose whatever is easiest e.g. postgres) Enable external db auth Instead of the database host, write the name of your odbc data source Select mssql_odbc Type the name of your table (the database chosen will be the default database you chose in the ODBC program) Write the names of your username and password fields Write the names of your other two fields Try to log in with the username and password you inserted into the mssql table You should successfully log in and be taken to the edit profile screen Make sure all the fields are correctly pre-filled Repeat steps, but using MySQL instead of ODBC

      Plugins >> Authentication >> External database
      host :DSN
      database : odbc_mssql
      external db encoding :utf-8 / iso_1 - cannot login / unicode - cannot login

      I am able to connect, and authenticate users successfully (using utf-8 ext db encoding) through the plugin but pre-filling local moodle fields with information from external database doesn't seem to work. Data mapping settings are correctly set. Manually entered profile information is set to blanks when users re-log with the 'update local' is set to 'On every login' so I think somehow the plugin loses the data from the external database and returns blanks to the local moodle db.

      Using :
      Moodle 2.8.5 + (build 20150313)
      Theme essentials
      PHP 5.4.12
      Apache 2.4.4
      Mysql 5.6.12 as moodle core db
      on Windows 8 pro 64 bit OS
      External db is MSSQL 2000 and MSSQL 2012

            moodle.com Moodle HQ
            monchet monchet
            John Okely John Okely
            Votes:
            2 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved:

                Error rendering 'clockify-timesheets-time-tracking-reports:timer-sidebar'. Please contact your Jira administrators.