Step 2: Admin Roles
In this section we want to introduce Admin Roles to provide our different backend users with role-based permissions.
We have three different user roles:
Super admin users,
employees and
representatives of partnering shipping companies.
Define admin roles
cmsbs-conf/conf.d/admin_role.attributes
:
admin_role.values[] = ""
admin_role.values[] = "employee"
admin_role.values[] = "shipping_company"
admin_role.value. = "Super Admin"
admin_role.value.employee = "Employee"
admin_role.value.shipping_company = "Shipping company"
Employees
Employees should be able to:
View, edit and create Entries (shipping companies, employees and customers),
view, edit and create Lists (aka Channels),
view existing Segments (aka VChannels) and
send Newsletters.
cmsbs-conf/adminRoles/role_employee.properties
:
gui.areas = ShowUser EditUser ListUsers CreateUser ListChannels EditChannels ListVChannels NewsletterArchive SendNewsletter NewsletterQueue
attr.entrytype.values = shipping_company employee customer
area.CreateUser.employee = false
area.EditChannels.EditTags = false
area.SendNewsletter.EditTags = false
user.query = entrytype='shipping_company' or entrytype='employee' or entrytype='customer'
Representatives of shipping companies
Representatives or partnering shipping companies should be able to:
View, edit and create Entries (trucks and customers),
view existing Lists and Segments (aka Channels and VChannels) and
send Newsletters.
cmsbs-conf/adminRoles/role_shipping_company.properties
:
gui.areas = ShowUser EditUser ListUsers CreateUser ListChannels ListVChannels NewsletterArchive SendNewsletter NewsletterQueue
attr.entrytype.values = truck customer
area.SendNewsletter.EditTags = false
user.query = entrytype='truck' or entrytype='customer'
Symlink Admin Roles
And again we have to comment in the other line in our build.gradle
:
Create Admin Entry
Next, we’ll have to create at least one initial admin user to be able to login again:
Now, we can start our UM and login as admin
/ admin
(if you chose the default username and password).
We can now create new user entries and assign our newly implemented admin roles.