I think that the WP plugins for a membership system is the way to do it.
You need the user to have the ability to change their password, have it
emailed if they forget, etc. And also for admin level people to edit the
members / membership.
It would be my guess that you would use a plugin like that and there would
be the option to put a login widget on any page (like the homepage). The
members would not be using the wp-admin login. Maybe they even have options
for using your facebook, or google account login?