After creating a Sharepoint site using Forms Authentication (CustomMembershipProvider), search no longer appeared to work. Running some analysis yielded the following discoveries:
- Search was confirmed to work as expected for our site with NTLM authentication mode enabled. In the WSS_Search database, an entry was added to the dbo.MSSCrawlHostList matching the site's HostName, as expected. After the service indexed the site, the SuccessCount column reported a nonzero value, and the ErrorCount column reported 0. Entries were added to the dbo.MSSCrawlUrl table with accurate DisplayURL values.
- However, after switching the site authentication mode to Forms Authentication using our CustomMembershipProvider and CustomRoleProvider in Central Admin, searches no longer returned results. After investigating, we noticed that all the entries in the dbo.MSSCrawlUrl table were immediately removed. The HostName entry remained in the dbo.MSSCrawlHostList table, but the SuccessCount column reported 0, while ErrorCount was positive.
Based on these findings, it seems as though search is not available for any site that is not authenticated with Windows authentication.
We have not been able to find any other articles with a clear resolution to this issue, and feel that it has something to do with the service account used by the Search Service.
If anyone has had success with enabling search for sites using Forms Authentication, please let us know which solutions you have found to get around this issue.
- Nathan and Rajiv