사용자 ID별로 사용자 역할을 얻는 가장 좋은 방법은 무엇입니까? 그것에 직접적인 방법이 없습니다? System.Web.Security.Roles는 현재 로그인 한 사용자의 역할을 바로 사용할 수있는 방법을 제공하지만 내 관리자가 자신의 ID 또는 사용자 이름으로 다른 사용자의 역할에 액세스 할 수있게하려고합니다.SimpleMembershipProvider GetRoleByUserID?
0
A
답변
0
당신은 (이 ExtendedMembershipProvider
에서 상속으로 당신은 또한 SimpleMembershipProvider
에 Membership
캐스팅 수)
((ExtendedMembershipProvider)Membership).GetUserNameFromId(userId)
으로, 예를 들어, 사용자 ID에서 사용자 이름을 얻을 수 있습니다.
은 그럼 당신은 사용할 수 있습니다Roles.GetUsersInRole(roleName)
이 이름에 의해 주어진 역할의 모든 사용자를 나열합니다.Roles.GetRolesForUser(userName)
은 (또한 이러한 결과와 함께 작동하도록WebSecurity.GetUserId(userName)
으로, 예를 들어, 사용자 이름에서 사용자 ID를 얻을 수 있습니다) 지정된 이름
에 대한 모든 역할 이름을 나열합니다.
있는 템플릿 계정 모델로 UsersContext를 사용하여, 사용자 ID에 대한 사용자 이름을 사용하려면 다른 방법이 있습니다 :
string username = context.Users.Where(x=>x.userid == userid).FirstOrDefault().UserName;
하나 이상의 사용자 조회를 수행하는 경우에 특히 유용 할 수 있습니다, 또는 이미 컨텍스트가 열려 있어야합니다.