public static void InitializeIdentity(ApplicationDbContext context) { #region Contracts if (context == null) { throw new ArgumentNullException(); } #endregion // Default - User const string adminUserName = "******"; const string adminUserPassword = "******"; const string guestUserName = "******"; const string guestUserPassword = "******"; // Default - Role const string adminRoleName = "Admin"; const string guestRoleName = "Guest"; // Default - Permission const string aboutPermissionName = "AboutAccess"; const string contactPermissionName = "ContactAccess"; // Manager var userManager = HttpContext.Current.GetOwinContext().Get <ApplicationUserManager>(); var roleManager = HttpContext.Current.GetOwinContext().Get <ApplicationRoleManager>(); var permissionManager = HttpContext.Current.GetOwinContext().Get <ApplicationPermissionManager>(); // User var adminUser = userManager.FindByName(adminUserName); if (adminUser == null) { adminUser = new ApplicationUser { UserName = adminUserName, Email = adminUserName }; userManager.Create(adminUser, adminUserPassword); userManager.SetLockoutEnabled(adminUser.Id, false); } var guestUser = userManager.FindByName(guestUserName); if (guestUser == null) { guestUser = new ApplicationUser { UserName = guestUserName, Email = guestUserName }; userManager.Create(guestUser, guestUserPassword); userManager.SetLockoutEnabled(guestUser.Id, false); } // Role var adminRole = roleManager.FindByName(adminRoleName); if (adminRole == null) { adminRole = new ApplicationRole(adminRoleName); roleManager.Create(adminRole); } var guestRole = roleManager.FindByName(guestRoleName); if (guestRole == null) { guestRole = new ApplicationRole(guestRoleName); roleManager.Create(guestRole); } // Permission var aboutPermission = permissionManager.FindByName(aboutPermissionName); if (aboutPermission == null) { aboutPermission = new ApplicationPermission(aboutPermissionName); permissionManager.Create(aboutPermission); } var contactPermission = permissionManager.FindByName(contactPermissionName); if (contactPermission == null) { contactPermission = new ApplicationPermission(contactPermissionName); permissionManager.Create(contactPermission); } // UserAddToRole IList <string> rolesForUser = null; rolesForUser = userManager.GetRoles(adminUser.Id); if (rolesForUser.Contains(adminRole.Name) == false) { userManager.AddToRole(adminUser.Id, adminRole.Name); } rolesForUser = userManager.GetRoles(guestUser.Id); if (rolesForUser.Contains(guestRole.Name) == false) { userManager.AddToRole(guestUser.Id, guestRole.Name); } // PermissionAddToRole IList <string> rolesForPermission = null; rolesForPermission = permissionManager.GetRolesById(aboutPermission.Id); if (rolesForPermission.Contains(adminRole.Name) == false) { permissionManager.AddToRole(aboutPermission.Id, adminRole.Name); } rolesForPermission = permissionManager.GetRolesById(contactPermission.Id); if (rolesForPermission.Contains(adminRole.Name) == false) { permissionManager.AddToRole(contactPermission.Id, adminRole.Name); } }