From 5c174a3d7dffe92749ed413381456d548606afe6 Mon Sep 17 00:00:00 2001 From: Hao Kung Date: Wed, 10 Oct 2018 14:49:57 -0700 Subject: [PATCH] Fix login.cshtml --- src/UI/Areas/Identity/Pages/Account/Login.cshtml.cs | 2 +- test/Identity.FunctionalTests/LoginTests.cs | 4 ++-- test/Identity.FunctionalTests/Pages/Account/Login.cs | 9 +++++++++ test/Identity.FunctionalTests/UserStories.cs | 9 +++++++++ 4 files changed, 21 insertions(+), 3 deletions(-) diff --git a/src/UI/Areas/Identity/Pages/Account/Login.cshtml.cs b/src/UI/Areas/Identity/Pages/Account/Login.cshtml.cs index 733913be01..6c01edd524 100644 --- a/src/UI/Areas/Identity/Pages/Account/Login.cshtml.cs +++ b/src/UI/Areas/Identity/Pages/Account/Login.cshtml.cs @@ -83,7 +83,7 @@ namespace Microsoft.AspNetCore.Identity.UI.Pages.Account.Internal { // This doesn't count login failures towards account lockout // To enable password failures to trigger account lockout, set lockoutOnFailure: true - var result = await _signInManager.PasswordSignInAsync(Input.Email, Input.Password, Input.RememberMe, lockoutOnFailure: true); + var result = await _signInManager.PasswordSignInAsync(Input.Email, Input.Password, Input.RememberMe, lockoutOnFailure: false); if (result.Succeeded) { _logger.LogInformation("User logged in."); diff --git a/test/Identity.FunctionalTests/LoginTests.cs b/test/Identity.FunctionalTests/LoginTests.cs index 4aa9a6b7a7..dc1124a664 100644 --- a/test/Identity.FunctionalTests/LoginTests.cs +++ b/test/Identity.FunctionalTests/LoginTests.cs @@ -362,7 +362,7 @@ namespace Microsoft.AspNetCore.Identity.FunctionalTests } [Fact] - public async Task UserLockedOut_AfterMaxFailedAccessAttempts_WithGlobalAuthorizeFilter() + public async Task UserNotLockedOut_AfterMaxFailedAccessAttempts_WithGlobalAuthorizeFilter() { // Arrange var emailSender = new ContosoEmailSender(); @@ -383,7 +383,7 @@ namespace Microsoft.AspNetCore.Identity.FunctionalTests await UserStories.ConfirmEmailAsync(registrationEmail, client); // Act & Assert - await UserStories.LockoutExistingUserAsync(newClient, userName, wrongPassword); + await UserStories.LoginFailsWithWrongPasswordAsync(newClient, userName, wrongPassword); } } } diff --git a/test/Identity.FunctionalTests/Pages/Account/Login.cs b/test/Identity.FunctionalTests/Pages/Account/Login.cs index 2206c278a5..044be3b066 100644 --- a/test/Identity.FunctionalTests/Pages/Account/Login.cs +++ b/test/Identity.FunctionalTests/Pages/Account/Login.cs @@ -64,6 +64,15 @@ namespace Microsoft.AspNetCore.Identity.FunctionalTests.Account Context.WithAuthenticatedUser()); } + public async Task LoginWrongPasswordAsync(string userName, string password) + { + var failedLogin = await SendLoginForm(userName, password); + + ResponseAssert.IsOK(failedLogin); + var content = await failedLogin.Content.ReadAsStringAsync(); + Assert.Contains("Invalid login attempt.", content); + } + public async Task LockoutUserAsync(string userName, string password) { var loginAttempt = await SendLoginForm(userName, password); diff --git a/test/Identity.FunctionalTests/UserStories.cs b/test/Identity.FunctionalTests/UserStories.cs index c0ff1666d2..92111a8d2d 100644 --- a/test/Identity.FunctionalTests/UserStories.cs +++ b/test/Identity.FunctionalTests/UserStories.cs @@ -36,6 +36,15 @@ namespace Microsoft.AspNetCore.Identity.FunctionalTests return await login.LoginValidUserAsync(userName, password); } + internal static async Task LoginFailsWithWrongPasswordAsync(HttpClient client, string userName, string password) + { + var index = await Index.CreateAsync(client); + + var login = await index.ClickLoginLinkAsync(); + + await login.LoginWrongPasswordAsync(userName, password); + } + internal static async Task LockoutExistingUserAsync(HttpClient client, string userName, string password) { var index = await Index.CreateAsync(client);