Configure authentication

What interfaces or classes should be implemented or inherited when creating custom authentication that is based on a non-Windows, third-party provider? (Choose all that apply)

SqlMembershipProvider
IIdentity
ActiveDirectoryMembershipProvider
IPrincipal