好的我已经在表AspNetRoles中的SQL数据库中找到了一些可以找到的角色 并且用户可以找到AspNetUsers。
我还发现了一堆aspnet_表(我认为它们是旧的WebForm表)。在一个视图中,我调用的是@ Roles.GetAllRoles(),它没有返回任何结果。 aspnet_Roles表没有记录。所以它可能在那里检查。但这似乎不太可能,因为种子角色正在如此创造:
var roleManager = new RoleManager<Microsoft.AspNet.Identity.EntityFramework.IdentityRole>(new RoleStore<IdentityRole>(new ApplicationDbContext()));
if (!roleManager.RoleExists("Member"))
roleManager.Create(new IdentityRole("Member"));
在我对MVC5的一点知识中,我认为Roles.GetAllRoles()会返回正确的结果。
我正在使用这个@model EUWebRole.Models.IdentityManager也尝试过ApplicationUser而不改变结果。
所以问题:
1)如何获取角色列表? 2)如果我使用了错误的“表”,我该如何设置它以便使用正确的表?
非常感谢任何想法。
答案 0 :(得分:3)
您的aspnet_tables在默认的MembershipProvider或SimpleMembershipProvider中都是旧的(无论哪种方式都应该删除它们都无关紧要。)
MVC 5默认使用Identity 2.0。如果您需要对角色执行任何操作,则需要使用RoleManager。