【问题标题】:CRUD or managing user role in AspNetUserRoles MVCAspNetUserRoles MVC 中的 CRUD 或管理用户角色
【发布时间】:2022-01-26 23:23:13
【问题描述】:

我在 ASP.NET MVC 5 中有一个默认标识,我可以对 User 和 Role 执行 CRUD。但我不知道在表 AspNetUserRoles 中执行 CRUD。因为我想通过匹配 UserId 和 RoleId 对该表进行用户管理。 这是我的 AplicationDbContext

public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
    public ApplicationDbContext()
        : base("DefaultConnection", false)
    {
    }

    public DbSet<ArrayDataVM> ArrayDatas { get; set; }
    public DbSet<Sender> Senders { get; set; }
    public DbSet<SMSDetail> SMSDetails { get; set; }

    public static ApplicationDbContext Create()
    {
        return new ApplicationDbContext();
    }
}

而且 AccountViewModel 仍然是默认的,在这里输入太长了。

你能给我答案吗?谢谢

【问题讨论】:

  • 很抱歉我是新手。能给个例子吗? @GeorgyTarasov
  • 至少在我可以做一个像 _usMan.GetAll(); 这样的列表之前做一个 AspNetUserRoles 列表

标签: c# asp.net .net asp.net-mvc asp.net-identity


【解决方案1】:

正如@Georgy Tarasov 在 cmets 部分所建议的那样,您可以使用UserManagerRoleManager 进行用户和角色以及用户角色的CRUD 操作。 我有一篇文章可以帮助你。

这是一个快速代码。

ApplicationDbContext context = new ApplicationDbContext();    
  
var roleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(context));    
var userManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(context)); 

if (!roleManager.RoleExists("Admin"))    
{    
  var role = new Microsoft.AspNet.Identity.EntityFramework.IdentityRole();    
  role.Name = "Admin";    
  roleManager.Create(role); 
}

如果你想添加用户到这个角色,你可以通过添加userManager.AddToRole(userId, "Admin")来实现

全文点击here

【讨论】:

    【解决方案2】:

    获取角色、查找用户并将其分配给角色 Admin 的简单示例。

    var context = new ApplicationDbContext();
    var roleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(context));
    var userManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(context));
    var roles = roleManager.Roles.ToList();
    
    var user = await userManager.FindByEmailAsync("admin@email.com");
    userManager.AddToRoleAsync(user.Id, "Admin");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-11-20
      • 2016-09-30
      • 2012-09-23
      • 1970-01-01
      • 1970-01-01
      • 2012-08-24
      • 2011-03-20
      相关资源
      最近更新 更多