Пользовательский поставщик членства ASP.NET для очень большого приложения

Я должен придумать решение членства для очень большого веб-сайта. Сайт будет построен с использованием ASP.NET MVC 2 и базы данных MS SQL2008.

Текущий поставщик членства кажется БОЛЬШИМ излишеством, там слишком много функций.

Все, что я хочу сохранить, это адрес электронной почты / пароль и базовый информация профиля, такая как имя / фамилия, номер телефона. Мне когда-либо понадобятся только 2 роли, администраторы и пользователи.

Каковы ваши рекомендации по этому типу сценария, учитывая, что могут быть зарегистрированы миллионы пользователей? Что использует StackOverflow?

Я много использовал существующий API членства в прошлом и расширил его для хранения дополнительной информации и т. Д. Но есть s такие таблицы, как

aspnet_Applications
aspnet_Paths
aspnet_SchemaVersions
aspnet_WebEvent_Events
aspnet_PersonalizationAllUsers
aspnet_PersonalizationPerUser

, которые чрезвычайно избыточны, и я никогда не находил им применения.

Изменить
Чтобы прояснить некоторые другие избыточности после ответа @drachenstern, есть также дополнительные столбцы, которые мне не нужны в таблице Членство / Пользователи, но которые добавят к полезной нагрузке каждого оператора выбора / вставки .

  1. MobilePIN
  2. PasswordQuestion / PasswordAnswer (я буду восстанавливать пароль по электронной почте)
  3. IsApproved (пользователь всегда будет одобрен)
  4. Комментарий
  5. MobileAlias ​​
  6. Имя пользователя / LoweredUsername (или Email / LoweredEmail) [email - это имя пользователя, поэтому нужен только один из них]

Кроме того, я слышал, что идентификаторы GUID не такие быстрые, и я бы предпочел использовать целые числа вместо этого (как это делает Facebook), которые также будут опубликованы. Марко

9
задан Marko 17 November 2010 в 20:19
поделиться