Add capability lookup for auth backends and fix regressions
Review Request #1994 — Created Dec. 12, 2010 and submitted
This is the second part to the big authentication change. We no longer check for specific auth backends when determining what data can be changed or which links to show. Now we ask the auth backends themselves to find out what is supported. Standard auth now goes through a new StandardAuthBackend class, which provides the capabilities we care about and forwards any requests down to Django's standard auth module. As a result, we can now use a form instead of stuffing that data into AuthenticationSettingsForm.
Tested with NIS and standard auth. Login worked, fall-through worked when using NIS, and settings forms all worked. Tested the Registration link, Login page, and the My Account pages on both standard and NIS to verify that the right fields were shown/hidden.