小编Lui*_*gio的帖子

如何使用 ASP.NET Core Identity 将用户角色关联到自定义实体

在我的 ASP.NET Core 应用程序中,我创建了两个角色:

  1. 公司管理员
  2. 公司查看器

Company是我数据库中的一个实体。

任何用户都可以创建Company并成为它的公司管理员。

但是,如果一个用户以 CompanyViewer 的身份向另一用户提供访问权限Company,则新用户将无权管理此用户Company

所以作为一个用户,我可以访问很多公司。其中一些我将成为管理员,而另一些我将只是查看者。

此外,还会有其他用户创建的公司,我将无权访问。

问题是:如何同时将特定角色与用户和公司相关联?

这是我现在拥有的一些代码:

用户模型:

 public class ApplicationUser : IdentityUser
{        
    public virtual IList<CompanyUser> Companies { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

公司型号:

public class Company
{
    public long ID { get; set; }

    [Display(Name = "Title")]
    public string Title { get; set; }

    [Display(Name = "Users")]
    public virtual IList<CompanyUser> Users { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

控制关系的模型(我将其重命名为 CompanyPermission):

public class CompanyUser
{
    [ForeignKey("Company")]
    public …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc asp.net-roles asp.net-identity

5
推荐指数
0
解决办法
1041
查看次数

标签 统计

asp.net-identity ×1

asp.net-mvc ×1

asp.net-roles ×1

c# ×1