在Net Core Identity Management中,IdentityRole和IdentityUser有什么区别?
public class AppIdentityRole : IdentityRole
{ }
public class AppIdentityUser : IdentityUser
{
public int Age { get; set; }
}
public class AppIdentityDbContext
: IdentityDbContext<AppIdentityUser, AppIdentityRole, string>
{
public AppIdentityDbContext(DbContextOptions<AppIdentityDbContext> options)
: base(options)
{ }
}
标识用户:用于身份验证例如:登录用户
标识角色:用于授权例如:管理员(以上用户属于管理员角色(
用户具有角色,角色具有权限。喜欢创建应用程序
https://social.technet.microsoft.com/wiki/contents/articles/51333.asp-net-core-2-0-getting-started-with-identity-and-role-management.aspx
https://learn.microsoft.com/en-us/aspnet/core/security/authentication/identity?view=aspnetcore-2.2&tabs=visual-studio
IdentityUser 是 ASP.NET Core MVC 类,其中包含有关在应用程序中注册的用户的信息。它包含默认属性,如用户名,电子邮件,密码等。可以继承此类并提供更多属性。
IdentityRole 是 ASP.NET 核心 MVC 类,其中包含有关应用程序中定义的 IdentityUsers 的用户角色(即使用域(的信息。
一个 IdentityUser 可以包含多个 IdentityRoles,一个 IdentityRole 可以包含多个 IdentityUsers。因此,在您的应用程序中,IdentityRoles 可以用作身份验证的过滤器,其中只有属于特定 IdentityRole 的 IdentityUsers 才能访问该类或方法。