I'm currently using the following in an application, and it's working just fine:
Have a role/type column on your user model. E.g. for Administrators it might have the value "admin" and for regular users it might be "user".
Then when you are authenticating users, you can authenticate with extra conditions, e.g. check whether the user is an administrator for admin login:
if (Auth::attempt(['email' => $email, 'password' => $password, 'role' => 'admin']))
{
// The user is an admin
}
Also, I would recommend making a few methods on the User model, that checks whether the user is an admin or a regular user:
public function isAdmin()
{
return $this->role === 'admin';
}
With this, you can easily check in your controllers or views, whether the user is an admin or a regular user, and then act accordingly, e.g. by serving a different view for one of them.
Hope this helps you on your way.