From de90b6060397770352b15d25f81cec9557f458fa Mon Sep 17 00:00:00 2001 From: sfmskywalker Date: Mon, 2 Jun 2014 22:29:34 +0200 Subject: [PATCH] Adding LoginFailed event. [Core Module Change] --- .../Modules/Orchard.Users/Controllers/AccountController.cs | 1 + .../Modules/Orchard.Users/Events/IUserEventHandler.cs | 5 +++++ .../Orchard.Users/Handlers/WorkflowUserEventHandler.cs | 6 ++++++ 3 files changed, 12 insertions(+) diff --git a/src/Orchard.Web/Modules/Orchard.Users/Controllers/AccountController.cs b/src/Orchard.Web/Modules/Orchard.Users/Controllers/AccountController.cs index 1dc2dc554..9d1f9d3ce 100644 --- a/src/Orchard.Web/Modules/Orchard.Users/Controllers/AccountController.cs +++ b/src/Orchard.Web/Modules/Orchard.Users/Controllers/AccountController.cs @@ -346,6 +346,7 @@ namespace Orchard.Users.Controllers { var user = _membershipService.ValidateUser(userNameOrEmail, password); if (user == null) { + _userEventHandler.LogInFailed(userNameOrEmail, password); ModelState.AddModelError("_FORM", T("The username or e-mail or password provided is incorrect.")); } diff --git a/src/Orchard.Web/Modules/Orchard.Users/Events/IUserEventHandler.cs b/src/Orchard.Web/Modules/Orchard.Users/Events/IUserEventHandler.cs index 880d8878a..6f5b56c6e 100644 --- a/src/Orchard.Web/Modules/Orchard.Users/Events/IUserEventHandler.cs +++ b/src/Orchard.Web/Modules/Orchard.Users/Events/IUserEventHandler.cs @@ -23,6 +23,11 @@ namespace Orchard.Users.Events { /// void LoggedIn(IUser user); + /// + /// Called when a login attempt failed + /// + void LogInFailed(string userNameOrEmail, string password); + /// /// Called when a user explicitly logs out (as opposed to one whose session cookie simply expires) /// diff --git a/src/Orchard.Web/Modules/Orchard.Users/Handlers/WorkflowUserEventHandler.cs b/src/Orchard.Web/Modules/Orchard.Users/Handlers/WorkflowUserEventHandler.cs index 9df2fe061..0164c86e1 100644 --- a/src/Orchard.Web/Modules/Orchard.Users/Handlers/WorkflowUserEventHandler.cs +++ b/src/Orchard.Web/Modules/Orchard.Users/Handlers/WorkflowUserEventHandler.cs @@ -36,6 +36,12 @@ namespace Orchard.Users.Handlers { () => new Dictionary {{"User", user}}); } + public void LogInFailed(string userNameOrEmail, string password) { + _workflowManager.TriggerEvent("UserLogInFailed", + null, + () => new Dictionary { { "UserNameOrEmail", userNameOrEmail }, { "Password", password } }); + } + public void LoggedOut(Security.IUser user) { _workflowManager.TriggerEvent("UserLoggedOut", user,