A client wants to allow both AD users and non-AD users access to a SharePoint site. I have done similar work before on a ASP.NET site but that required a custom MembershipProvider.
Is there a way to do that with SharePoint?
Yes, it's possible. SharePoint 2010 supports the FBA authentication in the claims authentication mode. Here's the good guide to enable it with ASP.NET standard SQL membership and role providers: http://blogs.technet.com/b/mahesm/archive/2010/04/07/configure-forms-based-authentication-fba-with-sharepoint-2010.aspx. And note that by default the Windows authentication in the claims mode is turned on so you can mix FBA and Windows authentications.