ASP.NETCore7Identity-自定义用户、角色和PK类型
创始人
2024-09-17 17:00:57
0
  1. 创建自定义用户模型 首先,我们需要创建自定义用户模型。可以通过继承IdentityUser类来实现这一点并添加自定义属性。在本例中,我们添加了FirstName和LastName属性。
public class ApplicationUser : IdentityUser
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
}

注意,我们还指定了int作为用户的主键类型(PK Type)。这是因为我们将自定义主键类型作为IdentityUser的第二个泛型参数。

  1. 创建自定义角色模型 与自定义用户模型一样,我们也可以创建自定义角色模型。可以通过继承IdentityRole类来实现这一点并添加自定义属性。在本例中,我们添加了IsAdmin属性。
public class ApplicationRole : IdentityRole
{
    public bool IsAdmin { get; set; }
}

同样,我们也指定了int作为角色的主键类型。

  1. 更改DbContext 接下来,我们需要更改DbContext以使用我们的自定义用户和角色模型。可以通过覆盖OnModelCreating方法来实现这一点。
public class ApplicationDbContext : IdentityDbContext
{
    public ApplicationDbContext(DbContextOptions options)
        : base(options)
    {
    }

    protected override void OnModelCreating(ModelBuilder builder)
    {
        base.OnModelCreating(builder);

        builder.Entity(entity =>
        {
            entity.Property(e => e.FirstName)
                .HasMaxLength(50);

            entity.Property(e => e.LastName)
                .HasMaxLength(50);
        });

        builder.Entity(entity =>
        {
            entity.Property(e => e.IsAdmin)
                .HasDefaultValue(false);
        });
    }
}

请注意,我们还对自定义属性进行了配置。

  1. 注册Identity服务 最后,我们需要在Startup类中注册Identity服务。可以通过调用AddIdentity和AddEntityFrameworkStores来实现这一点。我们也需要指定我们的自定义用户和角色模型。
public void ConfigureServices(IServiceCollection services)
{
    services.AddDbContext(options =>
        options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));

    services.AddIdentity()
        .AddEntityFrameworkStores()
        .AddDefaultTokenProviders();

    services.Configure(options =>
    {
        // Password settings
        options.Password.RequireDigit = true;
        options.Password.RequireLowercase = true;
        options.Password.RequireNonAlphanumeric = false;
        options

相关内容

热门资讯

一分钟了解!wepoker怎么... 一分钟了解!wepoker怎么破解游戏,拱趴大菠萝怎么开挂,总是是有挂(有挂技巧)透视方法中分为三种...
玩家攻略!竞技联盟透视插件,哈... 玩家攻略!竞技联盟透视插件,哈糖大菠萝可以开挂吗,确实真的是有挂(详细教程)1、不需要AI权限,帮助...
分享个大家!wepoker数据... 分享个大家!wepoker数据分析工具,pokerrrr2辅助,其实是有挂(真的有挂)1、辅助软件下...
三分钟了解!aapoker怎么... 三分钟了解!aapoker怎么控制牌,哈糖大菠萝开挂,原来有挂(竟然有挂)1、进入到是否有挂之后,能...
专业讨论!德州局hhpoker... 专业讨论!德州局hhpoker,wepoker辅助透视,竟然存在有挂(有挂教程)专业讨论!德州局hh...
科技揭秘!wepoker辅助透... 科技揭秘!wepoker辅助透视软件,菠萝德普辅助器免费版在哪里,本来真的是有挂(有挂教程)科技揭秘...
必备科技!德普之星透视软件免费... 必备科技!德普之星透视软件免费入口官网,wepoker网页版透视方法,其实是真的有挂(有挂方式)1、...
盘点十款!pokemmo辅助器... 盘点十款!pokemmo辅助器,德州透视是真的假的,都是真的有挂(真实有挂)1、起透看视 辅助软件价...
热点讨论!wpk刷入池率脚本,... 热点讨论!wpk刷入池率脚本,约局吧辅助器,一直是有挂(有挂功能)1、超多福利:超高返利,海量正版游...
最新研发!hhpoker有没有... 最新研发!hhpoker有没有作弊辅助,wepoker有没有插件,确实有挂(有挂秘诀)1)有没有挂:...