如何根据角色获取用户?

时间:2011-01-24 06:30:23

标签: asp.net c#-3.0 asp.net-membership

如何从MembershipUserCollection中检索“客户”角色的用户?

4 个答案:

答案 0 :(得分:14)

Roles.GetUsersInRole会在角色中返回string[]个用户名。如果您真的想要MembershipUser个对象,可以使用:

var list = Roles.GetUsersInRole("roleName").Select(Membership.GetUser).ToList()

当然,这是性能密集型的,因为它会为每个用户点击一次数据库。

如果您愿意放弃提供者独立性,您可以直接查询底层数据库并在数据库服务器上执行连接以使所有用户都处于特定角色。

答案 1 :(得分:1)

答案 2 :(得分:1)

要绑定到ListBox,您可以使用:

ListBox1.DataSource = System.Web.Security.Roles.GetUsersInRole("Role_Name");
ListBox1.DataBind();

答案 3 :(得分:0)

使用RoleProvider类http://msdn.microsoft.com/en-us/library/system.web.security.roleprovider.aspx

它有一个FindUsersInRole方法