You can still have various user types, but storing authentication information across many models/tables is often a terrible idea.