Frontend - Backend Separation

I am working on a system with many different types of users, say a traditional company structure. Now I am getting a bit confused how to separate development into frontend and backend. Maybe because I have not clear definition for myself yet what the backend is.

Company1

  • ceo

– boardmember

— manager

----- employee

Company2 … etc

A CEO can do actions on the employee classes etc

and and admin for all , and all other stuff

They all have their own logins to do their stuff.

What do I place in the backend?

What should generally be placed in the backend and why?

Thank you for your advice… the more I learn from yii2… the more i love the ease of it

You might not even need a ‘backend’ if you use RBAC properly and show/hide/restrict access to features based on roles. :)

Guide - RBAC

In an application of mine (advanced app), I put yii2-user and yii2-rbac modules in it, and configured it so that only two users are allowed to login to the backend.

I am not planning to have much more than user management and rbac config in my backend, because the rest of the settings are handled by roles and permissions.

I am planning to write a new application (different from above) that will use the basic template and not have a backend, but make full use of roles and permissions to make the administration more integrated with the rest of the site.

It depends, really, on the type of application.

Thanks @jacmoe

That clarifies alot… the backend is then only a possible option

ie

Wordpress uses the frontend to show the site to all visitors

and the admin/backend panel is for all administration purposes- all subscribers, authors, logged in users all log in through the same page.

In this case of yii… I will define ‘backend’ as anything that is needed to administer the site itself (admin/superadmin) priviledges.

Anything that a user can or may do will be placed in the frontend and controlled by rbac

What do you think of those definitions ?

1 Like