Как получить пользователей на основе роли? - PullRequest
6 голосов
/ 24 января 2011

Как можно получить пользователей в роли "клиента" из коллекции MembershipUserCollection?

Ответы [ 4 ]

14 голосов
/ 24 января 2011

Roles.GetUsersInRole возвращает string[] имен пользователей в роли.Если вы действительно хотите MembershipUser объекты, вы можете использовать:

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

Конечно, это требует высокой производительности, так как он попадает в базу данных один раз для каждого пользователя.

Если вы готовычтобы отказаться от независимости от поставщика, вы можете напрямую запросить базовую базу данных и выполнить объединение на сервере базы данных, чтобы получить всех пользователей с определенной ролью.

1 голос
/ 22 июля 2013

Для привязки к ListBox вы можете использовать:

ListBox1.DataSource = System.Web.Security.Roles.GetUsersInRole("Role_Name");
ListBox1.DataBind();
1 голос
/ 24 января 2011
0 голосов
/ 24 января 2011

Используйте класс RoleProvider http://msdn.microsoft.com/en-us/library/system.web.security.roleprovider.aspx

, у него есть метод FindUsersInRole

...