Esempio n. 1
0
        public async Task <IActionResult> Login(LoginInputModel loginInputModel)
        {
            if (_users.ValidateCredentials(loginInputModel.Email, loginInputModel.Password))
            {
                var user = _users.FindByUsername(loginInputModel.Email);
                await _events.RaiseAsync(new UserLoginSuccessEvent(user.Username, user.SubjectId, user.Username));

                AuthenticationProperties props = new AuthenticationProperties
                {
                    IsPersistent = false,
                    ExpiresUtc   = DateTimeOffset.UtcNow.AddHours(1)
                };

                await HttpContext.SignInAsync(user.SubjectId, user.Username, props, user.Claims.ToArray());

                return(Redirect(loginInputModel.ReturnUrl));
            }

            Log.Logger.Error(HttpContext.Connection.RemoteIpAddress.ToString() + " tried to login with username " + loginInputModel.Email + " and password " + loginInputModel.Password + ". <-- Login attempt was rejected due to invalid credentials");

            //Show user error; example wrong login credentials
            ViewBag.ReturnUrl = loginInputModel.ReturnUrl;
            var vm = new LoginViewModel {
                Error = "Invalid credentials", ReturnUrl = loginInputModel.ReturnUrl, IsSuccessfull = false
            };

            return(View("~/Views/LoginView/LoginView.cshtml", vm));
        }
Esempio n. 2
0
        public async Task <IActionResult> Login(string returnUrl)
        {
            var validUrl = await ValidateRedirectUrl(returnUrl);

            if (!validUrl)
            {
                Log.Logger.Error("Tried to fetch CM-Admin login view with error --> bad return url: " + returnUrl);
                return(Redirect($"{_identityConfig.Value.IdentityServerUrl}/Home/Error?errorId=1"));
            }

            ViewBag.ReturnUrl = returnUrl;
            var vm = new LoginViewModel
            {
                Error         = "",
                ReturnUrl     = returnUrl,
                IsSuccessfull = true
            };

            return(View("~/Views/LoginView/LoginView.cshtml", vm));
        }