Nothing new here, I think its a pretty well known fact that you can roll your own MembershipProvider and use that with SharePoint to do FBA, if it is news then even better, your learning!
For a potential client of ours, they want to do FBA on SharePoint and they have a custom backend user management tool. So naturally, I'm going to have to write a custom provider for this. I've done this before in the past, but I always find myself referring to Dave Mann's posting on the subject. Since I don't want to reinvent the wheel here and frankly I don't have anything new/profound to say on the subject, I'll just refer you to Dave's stellar posting about writing your own provider and using it for FBA in SharePoint.
Dave's blog is also filled with great SharePoint knowledge, so I encourage you to check out his site.
Since it had been quite awhile since I had to write a custom forms based authentication provider, I realized that Dave's article above doesn't give you everything you need to implement a solution. His article is only about MembershipProviders....there is still potentially a RoleProvider that you have to write (unless you want to manually add every FBA user by hand and set their permissions in SharePoint....that is a very BAD idea).
So, to supplement Dave's article I wanted to provide you with a few more links giving you more start to finish steps.
In a nutshell, here are the steps to implement a custom Membership Provider, and a custom Role Provider:
- Create your own Membership Provider (only need to implement roughly 7 of the methods since SharePoint only uses those)
- Create you own Role Provider (only need to implement roughly 2 methods since SharePoint only uses those)
- Create an "external" zone for your site
- Add web.config entries to Central Admin, "Internal" site, "External" site, to instruct how to use your custom Membership/Role Providers
- Set your "external" zone to use your custom Membership/Role Providers
- In your "Internal" site, give permissions to your custom Roles, users, etc.
- Test everything by logging into your "External" site and make sure that all your roles and specific users have the necessary permissions within SharePoint
So here's those links I was referring to.
Andrew Connell's post about FBA : http://www.andrewconnell.com/blog/articles/HowToConfigPublishingSiteWithDualAuthProvidersAndAnonAccess.aspx
Dan Attis's 2 part posting about FBA Part 1 : http://devcow.com/blogs/jdattis/archive/2007/02/23/Office-SharePoint-Server-2007-Forms-Based-Authentication-FBA-Walkthrough-Part-1.aspx
Dan Attis's 2 part posting about FBA Part 2 : http://devcow.com/blogs/jdattis/archive/2007/03/01/Office-SharePoint-Server-2007-Forms-Based-Authentication-FBA-w-MySites-Walkthrough-Part-2.aspx
Robert Bogue's Tips/Gotcha's about writing custom FBA : http://thorprojects.com/blog/archive/2007/06/24/664.aspx