Simple.
LOGIN WIDGET
To get a really nice login widget (–>to front) you install http://blue-anvil.com/archives/a-wordpress-login-widget-sidebar-login-widget-v10
EXTRA FIELDS AND CHECKS
If you require the users to read and accept the privacy policy, of if you want to allow registration only to those that know a registration authorization key/password set by you, just install http://www.cimatti.it/blog/cimy-wordpress-plugins/cimy-user-extra-fields/ Then you just require the checkbox and password field to display in the registration box and their values to match set criteria (yes or passowrd).
MEMBERS-ONLY PAGES
To make pages visible to subscribers only, you make them private in the editor. Then you install Disclose secret from http://bluesome.net/post/2006/01/01/121/ and go back to the editor and choose which user roles are allowed to see that page. Note that you need to tick the special option to allow the plugin to run on this new unknown version of wp.
USER ROLES
If you need more roles, such as “member”, “customer”, “partner”, “staff”… you install Role Manager from http://www.im-web-gefunden.de/wordpress-plugins/role-manager/ (this is tne newest version). Now you can configure different permissions to different groups of people.
MONITORING
You can monitor logins/logouts using http://www.bluetrait.com/page/btev/
I have done all this, and it works in WP2.2.3 and probably even in 2.3. I don’t have members-only widgets, but one could use one page template (with sidebar #1) for public pages, and another template (with sidebars #1 and #2) for private pages (subscribers/members). That requires a theme of two sidebars, though.
is there a way to make the sidebar login as an actual page? like they click on a page in the navigation that says login and it brings that up in the center?
Why don’t you just copy/paste the widget code into some loginpage.php
Make a copy of a single page template and then replace the loop thing with the plugin code.
Details are left as an excercise to the reader.
I don’t have time/interest to verify if it really works, but if it does, please tell.