Как получить список пользователя / профиля от поставщика членства? - PullRequest
4 голосов
/ 28 мая 2009

Я пользуюсь этим провайдером членства. Я застрял с получением списка пользователей + профиль (имя, фамилия, должность и т. Д.)

Я знаю, что есть метод для Membership.GetAllUsers (), но я не знаю, как совместить это с FirstName, LastName, которые я сохранил в провайдере профиля.

Спасибо

Ответы [ 2 ]

4 голосов
/ 28 мая 2009

Membership.GetAllUsers () возвращает коллекцию MembershipUserCollection, которую вы можете использовать для доступа к отдельному MembershipUser. Пример:

MembershipUserCollection users = Membership.GetAllUsers();
string email = users["some_username"].Email;

Вы также можете получить ProfileInfo аналогичным образом:

ProfileInfoCollection profiles = ProfileManager.GetAllProfiles(ProfileAuthenticationOption.All);
DateTime lastActivity = profiles["some_username"].LastActivityDate;

Однако по умолчанию свойства FirstName и LastName отсутствуют, если вы не указали их вручную в поставщике своего профиля.

Проверьте MembershipUser class и ProfileInfo class для более подробной информации. Вы также можете проверить SqlProfileProvider class в качестве примера поставщика профилей, если вы его еще не внедрили.

2 голосов
/ 28 мая 2009

Сначала при создании пользователя создайте профиль с тем же именем пользователя, используя:

// Create an empty Profile for the new User
ProfileCommon p = (ProfileCommon) ProfileCommon.Create("username", true);

Затем, чтобы получить его в следующий раз ..

// Retrieve a particular profile
ProfileCommon userProfile = Profile.GetProfile("username");

Спасибо.

...