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,