c# - Asp.net Core Identity - 操作步骤

1. Define a new class, derived from IdentityUser

public class AppUser : IdentityUser
    {
        public string DisplayName { get; set; }
    }

2. In your DataContext, change 
'public class DataContext : DbContext' 
to 
'public class DataContext : IdentityDbContext<AppUser>'

3. In your DataContext, method: 'protected override void OnModelCreating(ModelBuilder builder)' add code: 

base.OnModelCreating(builder);

4. Execute cmd:

dotnet ef migrations add "AddIdentity" -p Persistence -s API

5. In start project: "API" directory, execute cmd:

dotnet ef database update

7. In start project: "API" directory, add nuget package: 'Microsoft.AspNetCore.Identity.UI'

8. In start project: "API", method: 'public void ConfigureServices(IServiceCollection services)' add code below

// Add Identity Support
            var builder = services.AddIdentityCore<AppUser>();
            var identityBuilder = new IdentityBuilder(builder.UserType, builder.Services);
            identityBuilder.AddEntityFrameworkStores<DataContext>();
            identityBuilder.AddSignInManager<SignInManager<AppUser>>();

9. Add some seed data, using 'UserManager<AppUser> userManager':

 if (!userManager.Users.Any())
            {
                var users = new List<AppUser>
                {
                    new AppUser { DisplayName = "Bob", UserName = "bob", Email = "bob@test.com" },
                    new AppUser { DisplayName = "Tom", UserName = "tom", Email = "tom@test.com" },
                    new AppUser { DisplayName = "Jane", UserName = "jane", Email = "jane@test.com" }
                };

                foreach(var user in users)
                {
                    await userManager.CreateAsync(user, "Pa$$w0rd");
                }
            }

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值