如何从会员提供商处获取用户/个人资料列表?

时间:2009-05-28 12:04:47

标签: asp.net asp.net-membership

我正在使用此会员提供商。我很难获得用户列表+配置文件(FirstName,LastName,Title等)

我知道有一个Membership.GetAllUsers()的方法,但我不知道如何将它与我存储在Profile Provider中的FirstName,LastName结合起来。

由于

2 个答案:

答案 0 :(得分:4)

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 classProfileInfo class了解详情。您可能还想查看SqlProfileProvider class作为个人资料提供者的示例,除非您已经实施了。{/ p>

答案 1 :(得分:2)

首先,在创建用户时,使用以下命令创建具有相同用户名的配置文件:

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

然后下次检索..

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

感谢。