You can add each user automatically to each blog in your network. As example the follow simple function to add a user id to a blog id. If you loop about all sites and add the user to each blog with a role.
function join_site( $user_id = 0, $blog_id = 0, $role="editor" ) {
if ( 0 === $user_id )
return false;
if ( 0 === $blog_id )
return false;
if ( ! is_user_logged_in() )
return false;
if ( ! is_user_member_of_blog( $user_id, $blog_id ) )
add_user_to_blog( $blog_id, $current_user->ID, $role );
}
You can run this function on the register of a user or also on the login. On the register is smaller in the performance, only one request after register, not each login. But the function checks, if the user a part of the plugin, with the help of is_user_member_of_blog()
.
The benefit is, that each user is a real part of the blog, maybe with different roles. The result is, that you have all possibilities, also for other plugin to run functions the users.
For the login you should set the constant to define always the same cookie.
define( 'COOKIE_DOMAIN', '' );
That give the users the possibility to login in each site of the network, if the user is added to the site. For more in this context see this q/a.