I will attempt to explain this fully, if I don't please ask me to clarify, this part of SharePoint is a whole new world for me. I'm coming in from this on the Administration side and have been taking on more detailed work in trying to figure out how SharePoint behaves to handle out public site as it gets built.
We are trying to use a specific machine key with our SharePoint 2010 web application, this is due to our use of Claims authentication and utilizing our own User database to grant access and permissions on the site. Recently we've done some authentication changes to sync up cookies with the main SharePoint site and a concurrent site we link in, to allow Users to log in once and switch between sites, since we've done this there have been issues that look to be authentication and machine key related. The current thinking is that the machine keys need to be the same in all the web.config files, this is for Central Administration, the main site and the extended site used for the Search Crawler. When we deploy we copy in the web.config files from SVN so we have consistent copies, including machine keys which are the same across all the configs. Within a short span of time SharePoint has updated the config files, changing the machine keys in some of the config files to a new key. This seems to break authentication.
Some of the authentication issues Users end up seeing are publishing pages that have missing images, the images are there in the published images folders and can be selected when editing pages but they never appear on the page. Trying to access the images using direct URL's gives a generic "Object reference not set to an instance of an object" error message. Images that appear in the pages are accessible as direct links without issues. Sometimes images on pages appear and disappear depending on when you access the page, and whether or not we've used Developer Tools in IE to clear cache and cookies.
What I am not understanding is why this might happen and am sort of looking for ways to diagnose this. I've checked with the Developer Tools, haven't seen anything show up that I might recognize as an error, ULS logs don't show much. I don't know if the machine keys can be kept in sync in the way we copy and source the configs, if we should maintain them this way, or if there is something else I should be looking at to narrow this down some. Authentication is a new area for our whole group so we are trying to work it out as we go through the problem. Any helpful hints would be greatly appreciated.
We did some more research and instituted some ideas from here (thanks!) so what resolved the situation was the following:
- Made all machine keys the same in all web.config files
- Stopped the Rules that tried to synchronize web.config files, it seems that even when the files were the same the Rules thought they were not
- Turn off Blob Cache, which we originally put on to increase performance but we were not gaining that much
Since making these changes things have started working again, and images that were appearing and disappearing in the site, are now showing up all the time. One of the important things noticed was that images always appeared for anonymous users, but once you log in to the site, images will suddenly go away.