Exemple #1
0
        public IActionResult login(LoginVeiwModel loginVeiwModel)
        {
            if (_user.CheckLoginInfo(loginVeiwModel.Username, loginVeiwModel.Password).Number.Equals(1))
            {
                var userobj = _user.FindByUserName(loginVeiwModel.Username);
                if (userobj.IsActive)
                {
                    var claims = new List <Claim>()
                    {
                        new Claim(ClaimTypes.NameIdentifier.ToString(), userobj.Id.ToString()),
                        new Claim(ClaimTypes.Name, userobj.Name)
                    };
                    var identity  = new ClaimsIdentity(claims, CookieAuthenticationDefaults.AuthenticationScheme);
                    var principal = new ClaimsPrincipal(identity);

                    var properties = new AuthenticationProperties
                    {
                        IsPersistent = loginVeiwModel.RememberMe
                    };
                    HttpContext.SignInAsync(principal, properties);

                    return(Redirect("/admin"));
                }
                else
                {
                    ModelState.AddModelError("PhoneNumber", "حساب کاربری شما فعال نمی باشد");
                }
            }
            return(View(loginVeiwModel));
        }
        public LoginPage()

        {
            var vm = new LoginVeiwModel();

            this.BindingContext           = vm;
            vm.DisplayInvalidLoginPrompt += () => DisplayAlert("Error", "Invalid Login, try again", "OK");
            InitializeComponent();

            Email.Completed += (object sender, EventArgs e) =>
            {
                Password.Focus();
            };
            Password.Completed += (object sender, EventArgs e) =>
            {
                vm.SubmitCommand.Execute(null);
            };
        }
        public async Task <IActionResult> Login(LoginVeiwModel loginUser)
        {
            if (ModelState.IsValid)
            {
                Microsoft.AspNetCore.Identity.SignInResult result = await _signInManager.PasswordSignInAsync(loginUser.UserName, loginUser.Password, false, false);

                if (result.Succeeded)
                {
                    return(RedirectToAction("Index", "Home"));
                }

                if (result.IsLockedOut)
                {
                    ModelState.AddModelError("Lock-out", "Too many login Attemts");
                }
            }


            return(View(loginUser));
        }