I am happy to say that I have implemented the Cookie-based Authentication Add-on so that people no longer have to sign in to both the web site and discussion board. It is hard to consider two signins anything short of really lame. Unfortunately, It took me about 8 hours to implement. Here is the breakdown:
5 minutes: Implementing Authentication Add-on
7 Hours 55 minutes: Troubleshooting the reason why the cookie was not being passed to the Forum
Why did it take such a long time? It was one of those problems that seemed like it was solved, then not solved. Was working for some users, not working for others. Every time I thought that I had it fixed, I was wrong. The problem was pretty trivial now that I know what the was the actual root of the problem. Of course everything seems simple in hindsight.
Here are the details..... In my main site, http://www.community-credit.com, I saved the cookie. I checked over an over and all was saved correctly. When the user clicked on the discussion board, the forum behaved as if the cookie didn't exist. Why? because CommunityServer strips the "www." from the URL by default, so the user would go to http://community-credit.com/cs/forums even if I specified http://community-credit.com/cs/forums This may not seem like a big deal, but cookies written to the subdomain www.community-credit.com are not accessible from "community-credit.com". That was the problem. The must both have "www." or both have it omitted, but combining the two doesn't work.
The solution:
Fortunately, CommunityServer has an option in the CommunityServer.config file that allows you to specify how this is handled. Once I told it not to strip off the "www." all was fine.
wwwStatus (default = Remove)
Three supported values: Require, Remove, Ignore
Require validates the current Url uses www. (ie, http://www.communityserver.org)
Remove validates the current Url does not contain www.
Ignore does not validate the request
It is really nice that it is simply a configuration setting in Community Server. It saved me the time of having to come up with some cheesy work around. In short, 8 hours to find the problem and 2 minutes to fix it.