Advertisement
Guest User

IdentityInitializer.cs

a guest
Nov 26th, 2018
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.05 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Web;
  5. using Microsoft.AspNet.Identity.Owin;
  6. using Microsoft.AspNet.Identity;
  7. using Microsoft.AspNet.Identity.EntityFramework;
  8. using System.Data.Entity;
  9. using VehicleWebRole.Models;
  10.  
  11. namespace VehicleWebRole.DAL
  12. {
  13. public class IdentityInitializer :
  14. DropCreateDatabaseIfModelChanges<ApplicationDbContext>
  15. {
  16. protected override void Seed(ApplicationDbContext context)
  17. {
  18. InitializeIdentityForEF(context);
  19. base.Seed(context);
  20. }
  21. public static void InitializeIdentityForEF(ApplicationDbContext db)
  22. {
  23. var userManager = HttpContext.Current.GetOwinContext()
  24. .GetUserManager<ApplicationUserManager>();
  25. var roleManager = HttpContext.Current.GetOwinContext()
  26. .Get<ApplicationRoleManager>();
  27. //Define a user account and its role
  28. string name = "admin@admin.com";
  29. string password = "Pa$$w0rd";
  30. string roleName = "Administrator";
  31. //Create Administrator role if it does not exist
  32. var role = roleManager.FindByName(roleName);
  33. if (role == null)
  34. {
  35. role = new IdentityRole(roleName);
  36. var roleresult = roleManager.Create(role);
  37. }
  38. //Create the user account if it does not exist
  39. var user = userManager.FindByName(name);
  40. if (user == null)
  41. {
  42. user = new ApplicationUser { UserName = name, Email = name };
  43. var result = userManager.Create(user, password);
  44. result = userManager.SetLockoutEnabled(user.Id, false);
  45. }
  46. //Assign the new user account with Administrator role
  47. var rolesForUser = userManager.GetRoles(user.Id);
  48. if (!rolesForUser.Contains(role.Name))
  49. {
  50. var result = userManager.AddToRole(user.Id, role.Name);
  51. }
  52. }
  53.  
  54. }
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement