Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Best Design for a User/Role Management System? [closed]

Here's a software design question I've encountered several times and have never found an ideal solution for (I'm also dealing with it now again.)

Many applications need some form of user/role management. You have base users, groups that these users can belong to (not limited to just one), roles and permissions they have, organizational units, and a whole bunch of properties and other features that are project-specific.

My question is, what ways do people know of and/or have experience with to design and build a really dynamic, flexible user management system? Are there any design patterns you know of that really help?

like image 867
Nick Gotch Avatar asked Nov 18 '08 22:11

Nick Gotch


People also ask

What is user role management?

Role management lets you treat groups of users as a unit by assigning users to roles such as manager, sales, member, and so on. (In Windows, you create roles by assigning users to groups such as Administrators, Power Users, and so on.) After you have established roles, you can create access rules in your application.

What are the different types of user roles?

There are five main types of user roles in your school—the primary owner, owners, authors, affiliates, and students.

How do you implement user management?

A solution commonly used to implement user management is identity and access management (IAM). IAM enables administrators to define access to IT resources, both for internal and external users. IAM either includes or integrates with a user directory service, which contains credentials and other details of all users.


2 Answers

Not sure if it will help you, but if you have the opportunity you should check out the built in functionality in ASP.NET . You could get some pointers, at least, from there.

like image 39
Nailer Avatar answered Oct 05 '22 23:10

Nailer


You should adapt your design because every organization is different. Check this page, you can see a pattern for role-based administration.

like image 70
JoseJC Avatar answered Oct 06 '22 00:10

JoseJC