Представьте, что вы пишете веб-приложение, в котором будет 1 миллион пользователей (все они растут такими большими, верно!)
Как бы вы справились с учетными записями пользователей? Я могу представить несколько сценариев:
- Свернуть свои собственные (таблицы базы данных, соленые / хешированные пароли, хранящиеся в таблице профиля пользователя)
- Если написано с ASP.NET, используйте провайдера логина / роли (который обращается к базе данных)
- Использовать Active Directory, если в среде Windows
- Использовать другой сервер LDAP
- Сторонний поставщик, такой как OpenID или .NET Passport
Стабильность и масштабируемость, конечно, важны.
Полагаю, это действительно вопрос того, насколько хорошо и легко масштабируются Active Directory и другие серверы LDAP. Что Facebook, Twitter и Gmail используют в качестве провайдера бэкэнд-аккаунта?
Что заставило меня задуматься об этом, так это Google App Engine. Действительно круто выглядит. Но пользователи должны были бы получить учетную запись Google, если бы я использовал встроенные средства аутентификации. Или с номером 5 выше, пользователи должны будут получить OpenID. Я пытаюсь сделать так, чтобы они могли просто зарегистрироваться на моем сайте, не посещая другие сайты - для не гиков мира:)