I'm developing a special kind of software. To the average user, or customer it's simply an account management tools. You can log in, view payments and other info and then log out.

enter image description here

However, we also have admins who log in a bit differently. That is what makes my software special: Using the same login screen, they are not directed to a customer dashboard, but instead are asked to enter in the customer's name or ID. Next, they are directed to the selected customer's dashboard, and can view everything exactly how that user does.

enter image description here

However, there is one difference: admins can log out of their own account, sending them back to the same login page everyone uses, or they can go back to the admin dashboard to select another customer.

The problem is, I'm unsure what "logout" should do when the admin is viewing the page.

There are two options:

  1. Have it do exactly the same thing that it does for customers and log them out; meaning it directs admins to the login page. This would mean including a link in the dark admin bar at the top of the second screenshot to return them to the admin dashboard.

  2. Have it return admin to their dashboard. Admin can then logout or select another customer from their dashboard. Optionally, there can be a link in the dark admin bar to fully log out and have the admin return to the login screen.

What would be most intuitive for admins? What allows for the most efficient workflows? And what wording will help reduce confusion?

  • A few more details might be helpful. Can admins be logged into multiple customer accounts concurrently? If so, can they log out of all of them simultaneously, separately from logging out of admin? And if they log out of admin, does it also automatically end any authenticated customer user sessions they created? – Luke Smith May 7 at 19:43
  • They could probably log into multiple accounts via multiple tabs, but per tab, it's one account at a time. – invot May 7 at 19:58

Using the same login screen, they are not directed to a customer dashboard, but instead are asked to enter in the customer's name or ID. Next, they are directed to the selected customer's dashboard, and can view everything exactly how that user does.

The problem is, I'm unsure what "logout" should do when the admin is viewing the page.

Your workflow - having the admin user log in with the customer's credentials manually - sets an expectation that things should behave exactly as they do for the customer. If you are getting into the customer account the way the customer does, you should get out the same way, right?

Based on that, option 1 seems more logical.

If you develop the permissions and views in such a way that they are not linked to each other, then you will be able to have certain user permissions (account access) combined with different views of the information presented. However, if the view is directly linked to the user permissions (i.e. access and roles are directly linked) then it will be much more difficult to do this.

I guess this is a special use case for your application and you will need to weigh up whether this is a common or important enough use case to develop the application in this way or if you need to stick to more conventional architecture and design. Otherwise, you can develop an 'admin' mode where you can access a user's account and also switch out of this mode, but it makes the workflow more complex (which is probably okay given it is a power user).

Login is a process of user authentication via login screen, so after Logout every user should be returned to a place where he need to authenticate again. Admin as well.

Admin working as selected user is like Facebook's View Activity Log As... feature. So Admin need to have ability to select user to emulate his screens. Selecting another user is the same as 'logout' current user and 'login' as another one.

Given that everything under the black "admin bar" is what a normal user sees, and (as I think I understand it) behaves as it would for a normal user1, then to me I think option 2 seems more natural: the "logout" link under the (impersonated) user's name should end that (impersonated) user's session and return the admin user who was impersonating them back to the select-a-user-to-impersonate screen. That screen would have the administrator's logout link/button.

If you find that admins often only want to come in and manage a single user's account at a time, you might also add an "End admin session" (or similar) link to the black "admin bar": that would end both the impersonated user's, and the admin user's session and return to the login page.


1 With the possible exception that – as admin – you might be able to do some things the normal user might not be allowed to.

The best option would be to introduce breadcrumb notion in your product. This way you can easily navigate through pages and logout will directly take you to the login page.

I've answered a similar question here. Do check it out.

What is the typical user flow of the platform? Do admins often look at a user and then logs out completely, or do they tend to leave the user before logging out completely? If the admins don't tend to often log out completely while accessing a user, then I'd suggest going for your option 2.

If the admins tend to log out completely then option 1 is better. If this is the case, maybe you should play around with the menu options? Like replacing and renaming the option of logging out of a user to the admin menu bar. Something like "Leave user" followed by "Log out" for the admins to completely log out and return to the log in screen.

Your Answer

 
discard

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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