In my previous post that introduced you to the Joomla ACL, I mentioned there are three ways to get users into the database. The second option is to allow self-registration, where users complete a form which when submitted and approved, adds that user to the database. Users need to belong to one or more user groups and there is a setting to specify which group to allocate for each user. However in some circumstances this might not be adequate. For example, let's say your site provides educational content and you have two groups; students and parents. You may want to allow the user to choose which group to join, but this is impossible as Joomla only provides the option for self-registered users to all belong to the same group.
Multi Profiles Plugin by JoomApp is an extension that solves this problem. The site administrator can select several groups in the backend and these are displayed as choices on the frontend registration form. This is a commercial extension which sells for €9.50.
As with the rest of your site, you need to plan your access needs carefully. In the above example, this would allow a student to lie (surely not!) and give themselves access to parent material, which may or may not be a problem, depending on what you're publishing.