public IActionResult Login(LoginModel model) { //string name = ((ClaimsIdentity)User.Identity).FindFirst(ClaimTypes.Name).Value; //string avatar = ((ClaimsIdentity)User.Identity).FindFirst("Image").Value; if (_modelValidations.IsObjectNull(model)) { return(RedirectToAction("Index", "Auth")); } if (!_modelValidations.IsValid(model)) { return(RedirectToAction("Index", "Auth")); } var user = _usersRepository.Login(new LoginDto { Phonenumber = model.Phonenumber, Password = model.Password }); if (user == null || user.RoleId == 2 || user.IsBlocked == true) { return(RedirectToAction("Index", "Auth")); } string fullname = user.Firstname + " " + user.Lastname; var cookie = new CookieDto { UserId = user.Id, Avatar = user.Avatar, Phonenumber = user.Phonenumber, RoleId = user.RoleId, Fullname = fullname }; CreateAuthCookie(cookie); return(RedirectToAction("Index", "Home")); }
private async void CreateAuthCookie(CookieDto cookieModel) { var claims = new List <Claim> { new Claim(ClaimTypes.Name, cookieModel.Fullname), new Claim("Image", cookieModel.Avatar), new Claim(ClaimTypes.Role, "Admin"), new Claim("RoleId", cookieModel.RoleId.ToString()), new Claim("Phonenumber", cookieModel.Phonenumber), new Claim("UserId", cookieModel.UserId.ToString()), }; var claimsIdentity = new ClaimsIdentity( claims, CookieAuthenticationDefaults.AuthenticationScheme); var authProperties = new AuthenticationProperties { ExpiresUtc = DateTimeOffset.UtcNow.AddMonths(3), IsPersistent = true, }; await HttpContext.SignInAsync( CookieAuthenticationDefaults.AuthenticationScheme, new ClaimsPrincipal(claimsIdentity), authProperties); }
public IActionResult Register(RegisterModel model, IFormFile avatar) { if (_modelValidations.IsObjectNull(model)) { return(View()); } if (!_modelValidations.IsValid(model)) { return(View()); } var user = _usersRepository.Register(new RegisterDto { Phonenumber = model.Phonenumber, Firstname = model.Firstname, Lastname = model.Lastname, Password = model.Password, RoleId = 1 }); if (user == null) { return(View()); } var imageUrl = _imageUploader.Upload(avatar, Path, user.Id); user.Avatar = imageUrl; _usersRepository.ChangeAvatar(user); string fullname = user.Firstname + " " + user.Lastname; var cookie = new CookieDto { UserId = user.Id, Avatar = user.Avatar, Phonenumber = user.Phonenumber, RoleId = user.RoleId, Fullname = fullname }; CreateAuthCookie(cookie); return(RedirectToAction("Index", "Home")); }
public IActionResult Index(EditProfileDto profile, IFormFile avatar) { if (!ModelState.IsValid) { return(View(profile)); } var user = _usersRepository.GetUserById(profile.Id); if (avatar != null) { var imageUrl = _imageUploader.Upload(avatar, Path, profile.Id); user.Avatar = imageUrl; } user.Firstname = profile.Firstname; user.Lastname = profile.Lastname; user.Phonenumber = profile.Phonenumber; _usersRepository.ChangeAvatar(user); var cookie = new CookieDto() { RoleId = user.RoleId, UserId = user.Id, Fullname = user.Firstname + user.Lastname, Phonenumber = user.Phonenumber, Avatar = user.Avatar }; CreateAuthCookie(cookie); return(View(profile)); }
public IActionResult Login(LoginModel model) { if (_modelValidations.IsObjectNull(model)) { return(View()); } if (!_modelValidations.IsValid(model)) { View(); } var user = _usersRepository.Login(new LoginDto { Phonenumber = model.Phonenumber, Password = model.Password }); if (user == null || user.IsBlocked == true) { return(View()); } string fullname = user.Firstname + " " + user.Lastname; var cookie = new CookieDto { UserId = user.Id, Avatar = user.Avatar, Phonenumber = user.Phonenumber, RoleId = user.RoleId, Fullname = fullname }; CreateAuthCookie(cookie); return(RedirectToAction("Index", "Home")); }