I found myself getting really tired of constantly modifying configuration files when setting up forms based auth (FBA) in SharePoint 2010. There’s even more work now then there was in the previous release, because now we have an additional web.config file to modify – for the STS. It was also a constant hassle when you fat finger some random part of a web.config change. So, rather than continuing to complain about it, I wrote this little tool to help manage it for you. You should read through the complete HowToUseIt.txt file that’s included in the zip attached to this posting, but basically it allows you to create the entries for membership provider, role provider, wildcard search and connection string and push it out to all of the servers in your farm. You can also read in the configuration settings from a web application and modify them, then push it back out to the same server, or use it as the basis of settings for a brand new server. To get you started, I also include several sample membership and role provider configuration entries. Just select the samples drop down and pick the item you want to create an entry for. Modify the entry to suite your environment, provide the Url to the web application where the configuration changes should be made, and click the Apply Config button. Under the covers it creates a custom SharePoint timer job that runs on each web front end and modifies the appropriate web.config file with the appropriate entries. The timer job is part of a solution (wsp) that’s included in the attachment – make sure you deploy it to the farm first before doing anything else.
I STRONGLY encourage you to make a backup of your central admin, STS, and web application web.config files before pushing out changes in case something happens you don’t like. I’ve tested this on quite a few web applications and in single server and multi-server farms so far without problems, but you never know.
It’s already saved me a lot of time and hassle, hope it provides some value for you too.
UPDATE 6/15/2012: I finally reproduced the error about node belonging to a different document context, and have fixed that. A new build with that fix is attached. Thanks for those of you that reported it.
You can download the attachment here: