示例#1
0
        public async Task <IActionResult> Login(LoginModel model, string returnUrl = null)
        {
            returnUrl = returnUrl ?? "~/"; //return yapicak yer varsa oraya gider yoksa home gider
            if (!ModelState.IsValid)
            {
                return(View(model));
            }
            var user = await _userManager.FindByNameAsync(model.UserName);

            if (user == null)
            {
                ModelState.AddModelError("", "Username veya Password yanlis");
                return(View(model));
            }

            var result = await _signInManager.PasswordSignInAsync(model.UserName, model.Password, false, false); //cookinin tarayıcı kapandıgında kalıcılıgı ile ilgili

            if (result.Succeeded)
            {
                _sepetService.InitializeSepet(user.Id); // Sepet kaydı db'ye eklenecek.
                return(Redirect(returnUrl));            //gitmek istedigi yere gider yetkisi yoksa anasayfaya doner
            }
            return(View(model));
        }