-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathIdentityInitializer.cs
32 lines (31 loc) · 1.13 KB
/
IdentityInitializer.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
using Microsoft.AspNetCore.Identity;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
namespace SimpleTest
{
public static class IdentityInitializer
{
public static async Task InitializeAsync(UserManager<Models.User> userManager, RoleManager<IdentityRole<int>> roleManager)
{
string adminRole = "Administrators";
string adminName = "admin";
string adminEmail = "[email protected]";
string password = "admin";
if (await roleManager.FindByNameAsync(adminRole) == null)
{
await roleManager.CreateAsync(new IdentityRole<int>(adminRole));
}
if (await userManager.FindByNameAsync(adminName) == null)
{
var admin = new Models.User { Email = adminEmail, UserName = adminName };
IdentityResult result = await userManager.CreateAsync(admin, password);
if (result.Succeeded)
{
await userManager.AddToRoleAsync(admin, adminRole);
}
}
}
}
}