Ejemplo n.º 1
0
        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"));
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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"));
        }
Ejemplo n.º 4
0
        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));
        }
Ejemplo n.º 5
0
        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"));
        }