Code Monkey home page Code Monkey logo

Comments (3)

aocneanu avatar aocneanu commented on August 25, 2024

Hi,

TL;DR: Not right now.

Boring stuff:

In Enso every role is a collection of permissions, and every action that a user can make in the app has a permission associated.

Right now the role-permission system does not allow multiple roles per user.

The reason for this is that we try to focus on developing a system that suits business apps with hundreds of users.We found that its preferable to configure permissions for clusters of users mapped on the business logic, and have tens of roles, instead of having fewer roles and managing every user with its attached ones. It also an easier structure to maintain in the long term.

For clusters of users we have Owners in Enso. Owners can be departments, and can have a set of roles.

For instance, you can have Owners like "Sales", "Procurement", "Logistics", "HR". For each Owner you can design a set of roles. For the "Sales" owner you can have something like:

  • Salesman
  • Local Sales Coordinator
  • Regional Sales Coordinator
  • Sales Manager

This way you can divide 50 people from a department under 4 roles, roles that are easy to manage and update, especially when the app is still growing.

Managing the Role-Permissions structure is easy to deal with thanks to the RoleConfigurator component that allows you to assign everything from the interface. You can read more in the docs.

One last thing, for your example it might be preferable to build three roles instead of two, and that roles would be client, supplier, client-supplier.

Cheers.

from enso.

judgej avatar judgej commented on August 25, 2024

Thanks for the detailed explanation. So if I understand correctly, instead of just one administrator being given access to set ALL roles and permissions on the entire system, the administrator can hand subsets of the permissions off to sub-administrators to manage their own group of users, and be limited in what permissions they can give to those users.

from enso.

aocneanu avatar aocneanu commented on August 25, 2024

That could be a good idea, but unfortunately that's not implemented. Usually the Sales Manager and the Regional Sales Manager, from the example above, do not have the necessary technical knowledge to manage roles themselves. This needs a deeper understanding of what permissions are and how they work. We think that configuring roles is something delicate and should be the developer's responsibility.

In our case wee are building the roles for our customers based on their specifications, and after that, the department managers can test everything in their responsibity by impersonating users with lower roles and checking what those users can see and can do in the app.

Our recommendation is that you keep the System menu for the developer and invoice more ;)

from enso.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.