What is the best way to make a login form for multiple users?

I'll give you an example for your understanding:

If we have three different type of users, for example, teachers, students and administrators, the login could be:

  • A simple login with a combo, letting the user select his "class".
  • A simple login with tabs for students, teachers and administrators (or administrators could access via URL like the below example).
  • A front page, with a top link that references the login of the students, a bottom link that references the login of the teachers (the web application will be oriented to the students, the teachers are not relevant) and the administrators could be via URL (i.e. http://webapplication.com/secret_access - this is an invented example -).

I'm looking for the best solution in UX and security terms.

CONCLUSION: The best way to make a login form for multiple users is create a single login form, but in the back-end, check the user and determinate it's class.

  • 2
    "best solution in UX and security" = sometimes contradictory goals
    – DA01
    Sep 10, 2013 at 21:51
  • Sorry for the late... Why? Can you explain me the point?
    – leoMestizo
    Sep 12, 2013 at 18:35
  • 2
    often what security wants/needs conflicts with what is most usable for the end-user. Simple example: CAPTCHAs.
    – DA01
    Sep 12, 2013 at 19:28

3 Answers 3


These kind of access issues are usually addressed with 'roles' everyone logs in through the same link, with a unique to the individual ID. Then each ID is given specific privileges (or roles). All your students have the student role, all the teachers the teacher role, etc.

  • I like this answer! Do you know a good book who "touches" this topic? The programming language doesn't matter, because I think that the principles are the same.
    – leoMestizo
    Sep 10, 2013 at 18:24
  • @leoMestizo I don't have any books to offer Sep 10, 2013 at 19:25
  • 1
    @leoMestizo Martin Fowler's Dealing with Roles is a good reference to read. Sep 10, 2013 at 19:33
  • Oh! Martin Fowler! Great, great author! Thank you very much @MarjanVenema!
    – leoMestizo
    Sep 10, 2013 at 19:35

The best UX solution is to have the system be "smart" and detect (using the login-credentials) what kind of group the user belongs to. Just like logging in to a computer: the OS knows your "rights"

  • I like this answer too. As I asked before... Do you know a book who touches this topic? The programming language doesn't matter.
    – leoMestizo
    Sep 10, 2013 at 18:31

you can make new table in your db where you can define group (teachers, students and administrators).

and at registration page you can provide a option to users to select user group

now at login page insted of 2 fields (username,password) provide a new select box for selecting user group .

  • Thanks for the response. But i disagree about the design of the table: If I create a new table who englobe teachers, students and administrators I will have NULL values. Besides, if I want to add specific attributes to each one, I won't be able because three entities are in the same relation (I will add those attributes, but there will be updates anomalies). Regarding to the solution about this answer... Why do you think this is the best solution?
    – leoMestizo
    Sep 10, 2013 at 18:17
  • yes i agree that you have blank field 'user group' in registration table for existing user, but you can provide a option to user at login time that if they not filled user group before they select user group and fill there email and a mail shoot to their mail id with a verify link and when they click on that link you can update their user group and now user can login . Sep 10, 2013 at 18:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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