Как синхронизировать имена пользователей из поставщика членства по умолчанию в ASP.NET, с моей другой базой данных? - PullRequest
1 голос
/ 13 января 2012

Я действительно не уверен в том, как с этим справиться.

Мне кажется, что мне нужно, чтобы имена пользователей, которых зарегистрировал пользователь (через поставщика по умолчанию), были скопированы в столбец UserName моегодругая база данных, в которой есть таблица соединений для многих: многие между User и Badge.

Я пытался использовать SQL для копирования таблицы, но на самом деле это не работает, так как яне знаю, какую именно таблицу я должен скопировать ..

Любая помощь будет принята с благодарностью, и если вам нужна дополнительная информация, пожалуйста, спросите!

Ответы [ 2 ]

2 голосов
/ 13 января 2012

Я не уверен, каковы ваши обстоятельства, но, поскольку вы говорите, что пользователи зарегистрированы через поставщика по умолчанию, я предполагаю, что таблицы могли быть сгенерированы инструментом aspnet_regiis ?

Если это так, пользователи хранятся в таблице с именем aspnet_Users, а имена пользователей - в столбце UserName.

Возможно, вы неправильно поняли ваш вопрос, но это то, чем вы былипросишь?

0 голосов
/ 13 января 2012

Это действительно зависит от ваших требований, которые не совсем понятны.Если вы всегда хотите, чтобы ваши данные обновлялись в другой базе данных, то синхронизация путем копирования всей таблицы - не лучший способ.

Если вы не возражаете, что вы получите имена пользователей в более поздний момент времени, тогда синхронизация - это путь.Например, если вы используете другую базу данных только для целей бизнес-аналитики, тогда простое задание, например, ночью, подойдет.Как сказал Кристоффер, для этого вам понадобится столбец UserName из таблицы aspnet_User.

Теперь, если вы хотите, чтобы он всегда был актуальным, у вас есть два варианта:

  1. Хаки и не рекомендовано мной.Расширьте сохраненные процедуры, которые вызываются поставщиком членства по умолчанию, также обновляя другую базу данных.Например, вы можете изменить dbo.aspnet_Membership_CreateUser.Проверьте в своей базе данных все хранимые процедуры членства в aspnet.

  2. Реализуйте своего собственного поставщика членства, который вызывает ваши собственные хранимые процедуры или хранимые процедуры по умолчанию + дополнительные запросы для обновления другой базы данных.Этот - самая большая работа и будет моим выбором.Примеры пользовательских реализаций см. этот и этот.

Обе опции понадобятся вам, чтобы ознакомиться с членством asp.netинфраструктура.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...