Sometimes you need to allow a user to access and manage only one (or a few) Joomla! component in the backend. This is quite easy to set up, you need to use cleverly the ACL sytem Joomla has allready in.
The goal is simple, we need one or more users to be able to manage only one component in Joomla! backend. Let's say, that we are trying to restrict the access to the imaginary component named MyComponent. Here are the few steps you need to follow!
Step 1. Add new user group
In Joomla admin panel click "Users" in top bar and select the "Add New Group" submenu item and:
- Name your group however you like. We will call it "MyStaff"
- Select "Manager" as parent group
- Click "Save & Close"
Step 2. Assign the user(s) to the new group
Edit or create new user and in "Assigned User Groups" tab check the newly created Group (MyStaff in our case) and click "Save & Close".
Step 3. Grant access to "MyComponent" component
Click "System" and then "Global Configuration" in the submenu to access the settings interface. this is the simplest way to get there, but basically you reach the same interface by using the Options button on top right in the most of Joomla components. Once there, do the following:
- From the left menu, where you can see all components installed to your Joomla site select "MyComponent"
- Open"Permissions" tab
- Select "MyStaff" (this is the group we created earlier)
- Click on "Access Administration Interface" in the left row of Permissions list
- Select "Allowed"
- And save by clicking "Save & Close"
Step 4. Disable access to all other components
Now you need to disable access for all components you don't want user to see in backend. The process is similar, in the same interface you need to check all components you want to disable access to, and disable "Access Administration Interface" for all of them.
In the default Joomla! setup you'll need to disable access to:
- Smart Search
- Media manager
- News Feeds
For your site the list might be longer, if you are using more, than just the default Joomla components. To disable access to these for your restricted user, for each component go to its "Options" and repeat this workfow:
- Open "Permissions" tab
- Select "MyStaff" group (this is the group we created in Step 1.)
- Select "Denied" in "Access Administration Interface"
- And click "Save & Close"