Guest User

Untitled

a guest
Jan 24th, 2019
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.56 KB | None | 0 0
  1. public class Student : ApplicationUser
  2. {
  3.  
  4. [Required]
  5. public string firstName { get; set; }
  6.  
  7. [Required]
  8. public string lastName { get; set; }
  9.  
  10. }
  11.  
  12. ALTER TABLE [dbo].[AspNetUsers] ADD [firstName] [nvarchar](max)
  13. ALTER TABLE [dbo].[AspNetUsers] ADD [lastName] [nvarchar](max)
  14. ALTER TABLE [dbo].[AspNetUsers] ADD [Discriminator] [nvarchar](128) NOT NULL DEFAULT ''
  15.  
  16. public void CreateRoles()
  17. {
  18. ApplicationDbContext context = new ApplicationDbContext();
  19.  
  20. var roleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(context));
  21. //var userManager = new UserManager<IdentityUser>(new UserStore<IdentityUser>(context));
  22. var userManager = new ApplicationUserManager(new UserStore<ApplicationUser>(context));
  23.  
  24. //Create SuperAdmin Role
  25. if (!roleManager.RoleExists("SuperAdmin"))
  26. {
  27.  
  28. var role = new IdentityRole("SuperAdmin");
  29. roleManager.Create(role);
  30. context.Roles.Add(role);
  31. var user = new ApplicationUser() { Email = "admin@email.com", UserName = "adminName" };
  32. //userManager.Create<ApplicationUser>(user, "superAdminPassword");
  33. var newuser = userManager.Create(user, "myPassword@123");
  34. if (newuser.Succeeded)
  35. {
  36. userManager.AddToRole(user.Id, "SuperAdmin");
  37. throw new Exception("it succeded");
  38.  
  39. }
  40. else
  41. {
  42. throw new Exception("Hello World");
  43. }
  44.  
  45.  
  46. }
  47. else
  48. {
  49. if(userManager.FindByEmail("admin@email.com") == null)
  50. {
  51. var user = new ApplicationUser() { Email = "admin@email.com", UserName = "adminName" };
  52. var newuser = userManager.Create(user, "myPassword@123");
  53. if(newuser.Succeeded)
  54. {
  55. userManager.AddToRole(user.Id, "SuperAdmin");
  56. context.Users.Add(user);
  57. }
  58. else
  59. {
  60. throw new Exception();
  61. }
  62.  
  63. }
  64. }
  65.  
  66. //Create Admin Role
  67. if (!roleManager.RoleExists("Admin"))
  68. {
  69. var role = new IdentityRole("Admin");
  70. roleManager.Create(role);
  71. }
  72.  
  73. //Create User Role
  74. if (!roleManager.RoleExists("User"))
  75. {
  76. var role = new IdentityRole("User");
  77. roleManager.Create(role);
  78. }
  79. }
  80.  
  81. [HttpPost]
  82. [AllowAnonymous]
  83. [ValidateAntiForgeryToken]
  84. public async Task<ActionResult> Login(LoginViewModel model, string returnUrl)
  85. {
  86. if (!ModelState.IsValid)
  87. {
  88. return View(model);
  89. }
  90.  
  91. // Ceci ne comptabilise pas les échecs de connexion pour le verrouillage du compte
  92. // Pour que les échecs de mot de passe déclenchent le verrouillage du compte, utilisez shouldLockout: true
  93. var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout: false);
  94. switch (result)
  95. {
  96. case SignInStatus.Success:
  97. return RedirectToLocal(returnUrl);
  98. case SignInStatus.LockedOut:
  99. return View("Lockout");
  100. case SignInStatus.RequiresVerification:
  101. return RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe });
  102. case SignInStatus.Failure:
  103. default:
  104. ModelState.AddModelError("", "Tentative de connexion non valide.");
  105. return View(model);
  106. }
  107. }
Add Comment
Please, Sign In to add comment