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