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.)
A. ActiveDirectoryMembershipProvider
B. IIdentity
C. SqlMembershipProvider
D. IPrincipal
Answer:
AD
Explanation
A. Incorrect: ActiveDirectoryMembershipProvider is a Windows-specific authentication provider. It would not provide assistance in this case.
B. Correct: IIdentity describes the user that was authenticated.
C. Incorrect: SqlMembershipProvider provides assistance in getting membership data from SQL databases. It would not help get information from a third-party solution.
D. Correct: IPrincipal provides the security context of the user on whose behalf the code is running.