diff --git a/src/Orchard.Web/Modules/Orchard.Users/Activities/SignInUserActivity.cs b/src/Orchard.Web/Modules/Orchard.Users/Activities/SignInUserActivity.cs index 4df4c440b..8122f06b0 100644 --- a/src/Orchard.Web/Modules/Orchard.Users/Activities/SignInUserActivity.cs +++ b/src/Orchard.Web/Modules/Orchard.Users/Activities/SignInUserActivity.cs @@ -50,16 +50,17 @@ namespace Orchard.Users.Activities { var userNameOrEmail = activityContext.GetState("UserNameOrEmail"); var password = activityContext.GetState("Password"); var createPersistentCookie = IsTrueish(activityContext.GetState("CreatePersistentCookie")); + var user = workflowContext.Content != null ? workflowContext.Content.As() : default(IUser); - if (String.IsNullOrWhiteSpace(userNameOrEmail) || String.IsNullOrWhiteSpace(password)) { - yield return T("IncorrectUserNameOrPassword"); - yield break; + if (user == null) { + if (String.IsNullOrWhiteSpace(userNameOrEmail) || String.IsNullOrWhiteSpace(password)) { + yield return T("IncorrectUserNameOrPassword"); + yield break; + } + + user = _membershipService.ValidateUser(userNameOrEmail, password); } - var user = !String.IsNullOrWhiteSpace(userNameOrEmail) - ? _membershipService.ValidateUser(userNameOrEmail, password) - : workflowContext.Content != null ? workflowContext.Content.As() : default(UserPart); - if (user == null) { yield return T("IncorrectUserNameOrPassword"); yield break;