Я не уверен, что существует лучшая практика, и это действительно зависит от того, как вы хотите использовать эту информацию.
Во-первых, вы должны признать, что членство и профили - это две отдельные вещи. Функции членства, профиля и роли ASP.NET предназначены для использования в качестве службы, обслуживающей несколько сайтов/приложений.
Если вы посмотрите на схему этих отношений, вы заметите, что пользователи уникальны для системы, но пользователь может быть доступен для разных приложений. Это означает, что их информация о профиле совместно используется для приложений. Членство на самом деле является ассоциацией пользователя с приложением и содержит информацию об их отношении к этому конкретному приложению (пароль, пароль Q & A и т. Д.).
Вы можете использовать поставщика профайлов, как предлагал Райан, но 1) эту информацию нелегко запросить, если вы хотите собрать метрики профиля и 2) она будет доступна для всех пользователей услуг членства/профиля. Однако вы можете расширить его, чтобы удовлетворить ваши потребности.
Вы можете расширить поставщика членства, как предлагал Горток, и эта информация будет относиться к приложению, но вам нужно убедиться, что вы не нарушаете существующих потребителей услуги, изменяя существующие хранимые процедуры или таблицы таким образом, чтобы изменяет их интерфейс или намерение.
Другой вариант - вы можете рассматривать его как услугу и отслеживать эту информацию самостоятельно, ссылаясь на свою собственную реализацию профиля, используя идентификатор пользователя от поставщика asp.net sql.
Существует хорошая серия (16 частей) на Membership, Profiles, and Roles на 4 парнях из Роллы, которые я бы рекомендовал прочитать, а затем, когда вы знакомы со всеми движущимися частями, сделайте обоснованное решение о том, где лучше всего хранить и как лучше структурировать информацию профиля, которую вы хотите создать.