Multiple Site Collections - One membership database



I was able to install the FBAPack and it works beautifully for its intended purposes!  But my needs are a bit different.  What I'm wondering is if I can manage individual site collections without other site collections being aware of other users.

Site Collection 1 - Client Site 1 - http://mysite/sites/client1
Site Collection 2 - Client Site 2 - http://mysite/sites/client2

I want only Site Collection 1 to be able to request new users to be created specifically for Client Site 1, but I don't want them to be able to see anyone in my membership database.  Currently, if I give them access, they will be able to see all members in the database from both Client Site 1 and Client Site 2.

I want both Client Site 1 and Client Site 2 to be able to register new users so that the IT staff can approve and set the proper site settings / groupings for the appropriate site.  I also want individual users to be able to reset their passwords.

I'm thinking that I can control this through web parts and web part security, but having a little troubles mapping out how to do this.  My initial tests haven't succeeded.  Any high level ideas or approaches (not looking for detailed resolutions)?.?.?



One way to do it would be to put each site collection in a seperate web application. Then you can specify a different membership provider database for each web application and have complete seperation.


I finally had some time to play around with this and it did work as expected.  The only concern around this approach is that there's a lot of overhead.  Each site collection has to use a different membership provider database, getting away from a single user database.  I could have 50 - 75 site collections and I don't want to have a separate database for each site collection.  Any other ideas?  Custom LDAP approach?


With ASP.Net Membership, you can actually use the same database - but you would need a different web.config entry for each web application.  You would just set a different applicationName for each web.config.  See here: