Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Student : ApplicationUser
- {
- [Required]
- public string firstName { get; set; }
- [Required]
- public string lastName { get; set; }
- }
- ALTER TABLE [dbo].[AspNetUsers] ADD [firstName] [nvarchar](max)
- ALTER TABLE [dbo].[AspNetUsers] ADD [lastName] [nvarchar](max)
- ALTER TABLE [dbo].[AspNetUsers] ADD [Discriminator] [nvarchar](128) NOT NULL DEFAULT ''
- public void CreateRoles()
- {
- ApplicationDbContext context = new ApplicationDbContext();
- var roleManager = new RoleManager<IdentityRole>(new RoleStore<IdentityRole>(context));
- //var userManager = new UserManager<IdentityUser>(new UserStore<IdentityUser>(context));
- var userManager = new ApplicationUserManager(new UserStore<ApplicationUser>(context));
- //Create SuperAdmin Role
- if (!roleManager.RoleExists("SuperAdmin"))
- {
- var role = new IdentityRole("SuperAdmin");
- roleManager.Create(role);
- context.Roles.Add(role);
- var user = new ApplicationUser() { Email = "admin@email.com", UserName = "adminName" };
- //userManager.Create<ApplicationUser>(user, "superAdminPassword");
- var newuser = userManager.Create(user, "myPassword@123");
- if (newuser.Succeeded)
- {
- userManager.AddToRole(user.Id, "SuperAdmin");
- throw new Exception("it succeded");
- }
- else
- {
- throw new Exception("Hello World");
- }
- }
- else
- {
- if(userManager.FindByEmail("admin@email.com") == null)
- {
- var user = new ApplicationUser() { Email = "admin@email.com", UserName = "adminName" };
- var newuser = userManager.Create(user, "myPassword@123");
- if(newuser.Succeeded)
- {
- userManager.AddToRole(user.Id, "SuperAdmin");
- context.Users.Add(user);
- }
- else
- {
- throw new Exception();
- }
- }
- }
- //Create Admin Role
- if (!roleManager.RoleExists("Admin"))
- {
- var role = new IdentityRole("Admin");
- roleManager.Create(role);
- }
- //Create User Role
- if (!roleManager.RoleExists("User"))
- {
- var role = new IdentityRole("User");
- roleManager.Create(role);
- }
- }
- [HttpPost]
- [AllowAnonymous]
- [ValidateAntiForgeryToken]
- public async Task<ActionResult> Login(LoginViewModel model, string returnUrl)
- {
- if (!ModelState.IsValid)
- {
- return View(model);
- }
- // Ceci ne comptabilise pas les échecs de connexion pour le verrouillage du compte
- // Pour que les échecs de mot de passe déclenchent le verrouillage du compte, utilisez shouldLockout: true
- var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout: false);
- switch (result)
- {
- case SignInStatus.Success:
- return RedirectToLocal(returnUrl);
- case SignInStatus.LockedOut:
- return View("Lockout");
- case SignInStatus.RequiresVerification:
- return RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe });
- case SignInStatus.Failure:
- default:
- ModelState.AddModelError("", "Tentative de connexion non valide.");
- return View(model);
- }
- }
Add Comment
Please, Sign In to add comment