public bool updatePassword(string username, string newPassword)
        {
            var updatedPassword = gc.UserLogins.Where(u => u.Username == username).Select(c => c).FirstOrDefault();

            updatedPassword.Password = Sha256.ComputeSha256Hash(newPassword);
            gc.UserLogins.Update(updatedPassword);
            gc.SaveChanges();
            return(true);
        }
        public IActionResult ChangePassword(ChangePasswordVM passwordVM)
        {
            var loggedInUser     = HttpContext.User;
            var loggedInUserName = loggedInUser.Identity.Name;                                               // This is our username we set earlier in the claims.
                                                                                                             // var loggedInPassword = loggedInUser.Identity.;
            var loggedInPassword = loggedInUser.Claims.FirstOrDefault(x => x.Type == ClaimTypes.Hash).Value; //Another way to get the name or any other claim we set.

            if (Sha256.ComputeSha256Hash(passwordVM.oldPassword) == loggedInPassword)
            {
                _userlogin.updatePassword(loggedInUserName, passwordVM.newPassword);
                return(RedirectToAction("EditProfile"));
            }
            else
            {
                return(View());
            }
        }
        public bool CheckPass(LoginModel userLogin)
        {
            var users = gc.UserLogins.Select(u => u).ToList();

            foreach (UserLogin item in users)
            {
                if (item.Username == userLogin.Username)
                {
                    if (item.Password == Sha256.ComputeSha256Hash(userLogin.Password))
                    {
                        return(true);
                    }
                    return(false);
                }
            }
            return(false);
        }
        public bool Register(UserLoginModel userloginmodel)
        {
            UserLogin ulogin = new UserLogin()
            {
                Username = userloginmodel.UName,
                Password = Sha256.ComputeSha256Hash(userloginmodel.Password)
            };
            UserInformation uInfo = new UserInformation()
            {
                Uage        = userloginmodel.Uage,
                Uname       = userloginmodel.Name,
                Umail       = userloginmodel.Umail,
                Uprofession = userloginmodel.Uprofession,
                Urole       = "admin"
            };

            uInfo.UserLogin = ulogin;
            gc.UserInformations.Add(uInfo);
            gc.SaveChanges();
            return(true);
        }
Beispiel #5
0
        public async Task <IActionResult> Login(LoginModel Ulogin)
        {
            if (_userlogin.CheckPass(Ulogin) == true && _userlogin.isAdmin(Ulogin.Username) && ModelState.IsValid)
            {
                var ownRole = new List <Claim>();
                ownRole.Add(new Claim(ClaimTypes.Role, "admin"));//databaseden gelen nesnenın
                ownRole.Add(new Claim(ClaimTypes.Name, Ulogin.Username));
                ownRole.Add(new Claim(ClaimTypes.Hash, Sha256.ComputeSha256Hash(Ulogin.Password)));
                var ownIdentity  = new ClaimsIdentity(ownRole, CookieAuthenticationDefaults.AuthenticationScheme);
                var ownPrincipal = new ClaimsPrincipal(ownIdentity);
                var ownSchema    = CookieAuthenticationDefaults.AuthenticationScheme;
                await HttpContext.SignInAsync(ownSchema, ownPrincipal);

                HttpContext.Session.SetString("currentUser", Ulogin.Username);
                return(RedirectToAction("Index", "Home"));
            }
            else
            {
                return(View(Ulogin));
            }
        }