3 min read

Improving User Management with Craft CMS's Permissions System

Shape April 2022 HR 175
Contents
Updated on 02 Apr 2024

When it comes to user management, Craft CMS shines with its powerful Permissions System. Craft CMS allows you to fine-tune access levels, granting or restricting permissions with a few clicks. In this article, we will explore how Craft CMS's Permissions System can help improve your user management process. 👩‍💻👨‍💻

Understanding the Permissions System in Craft CMS

Craft CMS comes out of the box with the ability to set up multiple users. You set up your first user when installing Craft CMS, and once you are up and running you can start adding as many users as you like. Users are a lot like entries in Craft CMS. You can assign custom fields to them, creating a powerful and customisable system. Users are also related to entries - as authors, and commerce orders - as customers. Neat right?!

To keep things tidy, you can set up User Groups in Craft CMS. For example, we can have a group for ‘Members’ who have access to the frontend only, ‘Content Writers’ for access to editing the Content of the site in the control panel, and ‘Super Admins’ who have the real superpowers. So how do we restrict what the users can access you say? Well that’s where Craft CMS’s Permissions System comes into play!

Shape April 2022 HR 175

Setting and Managing Permissions in Craft CMS

Craft CMS makes it a breeze to set up and manage permissions for your users. With just a few clicks, you can grant or restrict access to specific sections, entries, categories, and even individual fields. ✅

By assigning different user groups and defining their respective permissions, you have full control over who can create, edit, publish, or delete content within your CMS.

Setting user permissions can be done on any environment as the data is stored directly in the database, so you don’t need to worry about any Project Config conflicts when updating these.

The user group data however is stored within the Project Config files, so this must be done in an environment which allows admin changes.

Here is a full list of the permissions Craft CMS comes with out of the box. 📦

Access the site when the system is off

Access the control panel
- Access the control panel when the system is offline
- Perform Craft CMS and plugin updates
- Access [plugin name]

Edit users
- Register users
- Moderate users
- Administrate users
- Impersonate users
- Assign user permissions
- Assign users to this group
- Assign users to [group]
Delete users

Edit [site name]

View entries
- Create entries
- Save entries
- Delete entries
- View other users’ entries
- Save other users’ entries
- Delete other users’ entries
- View other users’ drafts
- Save other users’ drafts
- Delete other users’ drafts

Edit [global set name]

View categories
- Save categories
- Delete categories
- View other users’ drafts
- Save other users’ drafts
- Delete other users’ drafts

View assets
- Save assets
- Delete assets
- Replace files
- Edit images
- View assets uploaded by other users
- Save assets uploaded by other users
- Replace files uploaded by other users
- Remove files uploaded by other users
- Edit images uploaded by other users
- Create subfolders

Utilities
- Updates
- System Report
- PHP Info
- System Messages
- Asset Indexes
- Queue Manager
- Caches
- Deprecation Warnings
- Database Backup
- Find and Replace
- Migrations

Plenty to play with straight from the get go! Craft CMS plugins can also hook into the system and create their own user permissions specific to their plugin.

Clean Shot 2023 09 05 at 15 00 09 2x

Common Permissions Challenges and How to Overcome Them

While Craft CMS's Permissions System provides a powerful solution, a few common challenges may arise along the way. But fear not! We've got some tips to help you overcome them. 💪

🌐 Managing User Growth

As your user base grows, managing permissions can become overwhelming. The solution? User groups! By grouping users based on their roles or departments, you can assign permissions to entire groups at once, streamlining the process. Plus, as new users join or roles change, you can simply adjust the permissions of the respective groups, saving you time and effort.

🔒 Handling Exceptions

In some cases, you might have a specific user who needs exceptions to the standard permissions. Craft CMS has got your back here too! You can assign individual permissions to override the group settings for specific users, allowing you to cater to their unique needs while maintaining a consistent permissions structure for others.

So why wait? Dive into Craft CMS's Permissions System today and take your user management to the next level! 🚀✨🔐

I'm Tom, a Web Developer at Shape - when I'm not making slick Craft CMS websites, I'm usually eating Peanut Butter or riding my bike.