2012-04-22 2 views
0

Кто-нибудь скажет мне, как создать пользователя без использования функции membership.createuser() и создать мастер пользователя в asp.net? Мне нужно выполнить дополнительную вставку в существующей таблице во время CreateUser().Как создать пользователя без использования Membership.CreateUser()?

+0

Просьба представить более подробную информацию. Используете ли вы таблицы членства по умолчанию или свои собственные таблицы? Ничто не мешает вам писать собственный пользовательский поставщик или выполнять прямой sql. –

+0

Я использую таблицы членства по умолчанию. моя база данных содержит еще одну таблицу (emp_details). эта таблица содержит личные данные сотрудников. Атрибут «UserId» таблицы aspnet_membership - это внешний ключ и первичный ключ таблицы emp_details. Я хочу создать новую запись сотрудника в таблице emp_details вместе с записью в таблицах членства по умолчанию, используя мои пользовательские команды sql, чтобы я мог обернуть все команды sql в транзакции. –

ответ

0

Вот два пути:

Реализовать свой собственный пользовательского поставщика членства. Это проще, чем вы думаете и довольно прямолинейно. Вокруг много статей.

или

Чтобы сэкономить время ... реализовать свой собственный пользовательский поставщик членства и наследовать от класса SqlMembershipProvider. В подклассе вы в основном просто «переадресовываете» вызовы базовому классу, за исключением метода CreateUser. В этом случае вы можете позволить базовому классу выполнить большую часть работы, а затем выполнить свою собственную вставку. Однако, поскольку он должен быть в одной транзакции (за ваш комментарий выше), тогда все может быть немного волосатым ... и вам, возможно, придется переопределить метод CreateUser в вашем подклассе.

http://msdn.microsoft.com/en-us/library/system.web.security.sqlmembershipprovider.aspx

Примечание: Я на автобусе прямо сейчас с помощью Wi-Fi, но я почти соблазн написать это для вас, если вы включите схему emp_details для меня. Вы используете прямой ADO.NET или что-то еще?

 Смежные вопросы

  • Нет связанных вопросов^_^