Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

I run a multisite blog farms with all blogs having a consistent functionalities (theme and plugins and some basic content), but independent from each other in terms of user database. I would like to prevent user signup at one site being able to sign in through all other sites. Likewise, if a user is deleted from a site, s/he can't access other network sites.

I'm actually registering user through a plugin, so I have total control over the registration process. Any input is appreciated :)

share|improve this question
    
Even if the user is logged in on another site, there is nothing they can do other than edit their own details and change their password as they have different roles on different sites. –  Tom J Nowell Mar 5 '13 at 16:20
    
Even so, I would prefer having them separated than not. It's possible a single user would sign up at two different sites, and then finding out that s/he can log in using the old credential. That's really bad for this project. –  Angela Mar 6 '13 at 3:28
    
It's still a problem too, because if they sign up with foo@bar.com on site A, then cant log into site B, they cant register either, because there's already a user with that email. This scenario is actually worse, and attempting to fix it leads to nightmarish hacks. I recommend you split apart your multisite instance instead. –  Tom J Nowell Mar 6 '13 at 9:44
add comment

3 Answers 3

This is not exactly worpdress multisite suggestion, but a hack to run and manage multiple wordpress websites. I don't know if it works for you :

Create one database for each of your site and create a connection to corresponding site by placing wp-config.php inside the site1-content etc folder. You would have to point all your domains to root folder. Make some modifications in wp-load.php to connect to appropriate database depending upon requested URL. You may have to create a common database as well to save this connections. (Not a difficult job to do though)

Now your folder structure would look like :

index.php

  1. common
    • common > wp-admin
    • common > wp-includes
    • common > must-use
    • other core files normally on root

2.site1-content - site1-content>applications - site1-content>plugins - site1-content>uploads - wp-config.php(with database connection to site1)

  1. site2-content

    • site2-content>applications
    • site2-content>plugins
    • site2-content>uploads
    • wp-config.php(with database connection of site2)

etc etc...

Now you have multiple wordpress websites which are using - common wp-admin folder, wp-includes folder - therefore making up gradation with word press easier and centralized - common mu-plugins folder to ensure all the sites have this common required plugins up and running. Again with centralized up gradation possibility - Of-course this are multiple word-press websites not word-press multisite, therefore independent user base.
- If you dont want to create multiple database you can use different table prefix for different clients (defined in wp-config.php) and make appropriate connection depending upon the requested url

Difference of above solution from multisite : 1. wp-content folder is different for each of the client Though you can make plugins and themes folder same by moving it in the common folder ( using wp-config.php) 2. You can network activate plugins by placing it in must-use plugin folder inside common folder.

This does solve your maintenance problem and up gradation path easy for all the website. Though you would not have access to awesome super admin tools available in wordpress multisite. But you do have different requirement as well.

share|improve this answer
add comment

The only reliable solution here is to break your network into multiple sites running as single instances.

If you had a multisite where you could only sign into the site you registered at, you would be unable to use any other site. So if I registered and logged into site A, then came across site B, I cant use site B. Logging in would fail as you described, so I'd open a new account, only to be told that my email is already in use.

The user, wildly confused as to why they can't register, yet already have an account, but cannot use it, will likely either go away never to return and badmouth site B to others, or complain, making you look bad.

Instead you need to avoid the shared user problem entirely by separating the network into single instances/installs.

This question & answer has instructions on how to do this:

Convert a Multisite Wordpress install into a Single site

share|improve this answer
add comment

I can't give an answer myself but I just watched this on Multisite BuddyPress stuff. Only the part at 102:00 about multisite and some unofficial WP installations.

share|improve this answer
    
Sorry, not seeing how this helps... –  Angela Mar 6 '13 at 3:29
    
Did you see the part about WordPress multi-site multi-network? That's basically your answer. You would need multi networks to keep them separated from my understanding. –  BenRacicot Mar 6 '13 at 15:42
    
eh...Yes, I just took a look at the plugin, but it says "Turn your multi-site installation of WordPress into many multi-site networks, all surrounding one central user base.". I'm pretty sure that's the opposite of what I want –  Angela Mar 7 '13 at 16:13
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.