gpt4 book ai didi

asp.net-mvc - 我有角色种子 - 但 Roles.GetAllRoles 不起作用?

转载 作者:行者123 更新时间:2023-12-03 05:09:17 25 4
gpt4 key购买 nike

好的,我已经播种了一些角色,这些角色可以在 SQL 数据库的 AspNetRoles 表中找到并且可以找到用户 AspNetUsers。

我还发现了一堆 aspnet_ 表(我认为它们是旧的 WebForm 表)。在 View 中,我调用 @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)如果我使用了错误的“表”,我该如何设置它才能使用正确的表?

任何想法将不胜感激。

最佳答案

您的 aspnet_tables 是旧的默认 MembershipProvider 或 SimpleMembershipProvider(无论哪种方式,它们都应该被删除)。

MVC 5 默认使用 Identity 2.0。如果您需要对角色执行任何操作,则需要使用 RoleManager .

关于asp.net-mvc - 我有角色种子 - 但 Roles.GetAllRoles 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24126606/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com