Users may be added to a Moodle site in several ways. When user accounts are created on a site, the process is called Authentication, and when users join a course, the process is called Enrolment. Normally only the administrator is allowed to add users to a site. Course teachers can only add students to their course and do not have permission to add users to the site. (If you're a teacher looking for instructions on how to add students to your course, read Add students.)
Users sign up to the site themselves
If you wish people to create their own accounts on your site, you must enable Email-based self-registration. This feature is disabled by default because of the possibility of spammers accessing your site.
The admin creates accounts manually
This process is called Manual authentication and is enabled by default on a site. You can lock certain fields, set password expiry dates, and configure other settings from Site administration > Plugins > Authentication > Manual accounts.
As an administrator, you can add users one at a time from Site administration > Users > Accounts > Add a new user. See the documentation Add a new user for more details.
You can also upload users in batches with a CSV file from Site Administration > Users > Accounts > Upload users. See the documentation Upload users for more details.
The CSV file will also upload users directly into courses and groups within those courses. In the example below, new students are added to the site and enrolled in specified groups in two courses, English and Mathematics. (The courses need to exist already, but if the groups do not already exist, Moodle will create them on upload.)
Users may also be added as members of cohorts (site or category-wide batches of users.) See Cohorts for more details.
Adding users from other systems
Users can connect to Moodle via a single sign-on from other systems. The settings for these may be found in Site administration > Plugins >Authentication > Manage authentication and include:
- CAS server (SSO) - account details are located on an external CAS server
- External database - account details are located on an external database
- LDAP server - account details are located on an external LDAP server
- Moodle Network authentication - how different Moodle sites can connect and authenticate users
- Shibboleth - account details are located on an external Shibboleth server
- Web services authentication