Start here. This is the direct spoken answer to practice first.
Overview
Explains backend ordering, session affinity, permission aggregation, and the difference between identity and authorization.
Django calls the configured authentication backends in order until one authenticates the supplied credentials. A backend implements authenticate() and get_user(), and may also provide permission methods. Django stores the successful backend path in the user's session and uses it to load that user later. Authentication success still does not grant every permission or bypass application resource checks.