Вопрос

Я использую SQLMembershipProvider и хочу добавить дополнительную информацию о пользователях.Лучший способ сделать это — создать новую БД и сделать запись для каждого нового пользователя по мере его создания?Если да, то есть ли причина не использовать значение UserID SQLMembershipProvider в качестве PK в таблице пользователей в моей новой БД?

Или есть ли веские причины создать новый UserID в моей новой базе данных и использовать UserID SQLMembershipProvider в качестве FK?

Это было полезно?

Решение

Я не могу придумать причину, по которой это не сработает, или почему вы не должны делать это таким образом (userid as PK)

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

Другие советы

Если вы собираетесь переписывать поставщика членства, я бы переключил все столбцы PK на BITINT с GUID. Я бы сделал это по двум причинам; Во-первых, с последовательными числами работать и понимать гораздо проще, а во-вторых, производительность BIGINT вместо идентификаторов GUID значительно повышается. Я также просто использовал бы свой собственный столбец идентификаторов, который можно использовать для сопоставления других таблиц в приложении, и удалил таблицу, поставляемую по умолчанию в поставщике членства sql. Для этого вам нужно будет предоставить код для каждой функции в провайдере, это немалая задача.

Я создал оболочку для существующей схемы базы данных с классом, полученным из MembershipUser который содержит дополнительные свойства, и MembershipProvider производная, которая создает экземпляры производной MembershipUser сорт.

Я использую только методы аутентификации и обновления членства, поскольку другие поддерживающие API несколько ограничены.У меня есть отдельный API создания/редактирования пользователя для использования администратором.

Это решение в настоящее время используется на нескольких сайтах и ​​работает хорошо.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top