You have a multi-tenant SaaS application that needs to support the following:
* Accounts may have different password, lockout, and expiration policies.
* There's a generic "login" button on the marketing site that 50%+ of our users use. This generic login page must implement all account specific constraints (probably via a 2-step login form)
* Some customers have SSO. For some customers, using SSO is optional. For others, it is required.
* Owners of accounts have a limited impersonation feature that allows them to see only certain parts of information in eyes of one of their account members