Check out User Access Manager for point 1).
For stripping back the menus & controlling access, check out the User Role Editor. You can strip user capabilities down to the bare essentials, and a lot of the items in the menu will disappear for them. For example, removing all *_themes
privileges will hide the Appearance item.
You may find you can’t quite hide all the menus you want, so you can hook into admin_menu
and conditionally use remove_menu_page
and remove_submenu_page
depending on current_user_can( 'role_name_or_capability' )
.
For the redirect, check out wp-login.php
– there should be a decent hook or filter in there for you to use and change where the user gets redirected; either after logging in or registering.