내 인생에서 MVC 5 응용 프로그램에 단순히 역할을 추가하는 방법을 알 수 없습니다. 이것은이있는 ID와 이름 ("관리자", "사용자", 등) AspNetUsers
을 가지고 4ASP.NET MVC 5 Identity 2.0에서 역할 사용
표가 상자 밖으로있다 MVC의 이러한 바람, AspNetRoles
이었다 ID 및 다른 사용자 필드 AspNetUserRoles
-이 테이블에는 위의 표에 매핑 된 UserId 및 RoleId가 있습니다.
로그인 한 사용자에게 "admin"역할 또는 "user"역할이 있는지 확인하고 싶습니다. 여기
내가 시도 것입니다 : 는if (User.IsInRole("Admin"))
{
//do something
}
값은 항상 다시 거짓 온다.
는 또한 시도 :
var UserManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(context));
var userRole = UserManager.GetRoles(user.GetUserId());
if (userRole[0] == "Admin")
{
// do something
}
이 오류가 발생합니다 ". 인덱스가 범위를 벗어났습니다 음수와 크기 컬렉션의 보다 작아야합니다."
현재 로그인 한 사용자의 역할을 얻을 수있는 간단한 방법이 있습니까? 역할 관리자 사용에 대한 참조를 보았지만 제대로 작동하지 못했습니다. 나는 그 오류가 userRole
가 0도 지표로, 비어 있음을 말하고있다 아이덴티티 1.0
감사
사용자가 로그인 한 상태입니다. UserManager를 사용하여 다음을 확인합니다. http://stackoverflow.com/questions/23049813/asp-net-identity-2-0-check-if-current-user-is-in-role-isinrole –