Take the 2-minute tour ×
User Experience Stack Exchange is a question and answer site for user experience researchers and experts. It's 100% free, no registration required.

I am building a system where the users have roles that can change over time. One user can have one or more roles. The roles define access to pages and features. Some of the users will have an Admin role, and each system needs to have at least one Administrator to manage the system.

The system has a "Role Management" View, where the Admin users can add or remove new roles to other users and themselves. When considering the case that an Admin user would attempt to take Admin role away from him/herself, I see a few options:

  1. Prevent this and show an error message telling the user that Admin role cannot be removed
  2. Warn the users and allow them taking the role off (problem: the user could "brick" the system and leave it without an Admin, unless they call service center and get the situation fixed by a Super Admin)
  3. Prevent the Admins removing Admin role from themselves and inform them that only another Admin user can remove his/her Admin role

Any experiences which one would work the best? Or perhaps some other ideas/thoughts?

share|improve this question
    
This is not a UX question. It is fundamentally a security issue. –  Deer Hunter Jun 18 '13 at 7:34
1  
@DeerHunter I see this as an IA question. –  rk. Jun 18 '13 at 12:42

2 Answers 2

up vote 8 down vote accepted

The first thing that I can think of is: An individual's promotions and demotions should be limited to (in the hands of) a position higher than themselves. I shouldn't be able to promote or demote myself. It doesn't make much sense.

  1. Rather than showing an error. I would replace the 'remove admin' function with 'apply for removal from admin...' or something. As is, someone else has to approve the action, better make it an application process than an error.

  2. This situation can easily provided by only allowing higher ranked user to take such decisions. Like a Super-admin or some position which is able to accept or remove admins. In the end the super-admin is always there.

  3. Same as 1.

share|improve this answer
    
Thanks again rk, makes sense. I think I will go for the approach #2, it will work great for the system that I am currently working on. I have a similar problem in another system where the hierarchy is less clear (due to design decisions that were made before I got involved and the overall architecture), which makes the approach #2 more tricky. –  Skuirrel Jun 17 '13 at 22:47

There is the option of only allowing them to remove themselves from Admin, if there is at least 1 other Admin. But this isn't great, as the other Admin might not actually be active. Eg they might have quit, and their account not properly disabled.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.