кажется, что AccountController (стандартная версия шаблона ABP 2.3) отправляет неправильное сообщение клиентскому браузеру, например, когда:
- Неверные учетные данные типа пользователя;
- Имя пользователя не существует;
Пользовательский рынок как «неактивный»;
switch (loginResult.Result) { case AbpLoginResultType.Success: return loginResult; default: throw CreateExceptionForFailedLoginAttempt(loginResult.Result, usernameOrEmailAddress, tenancyName); }
Например, CreateExceptionForFailedLoginAttempt возвращает исключение UserFriendlyException, когда AbpLoginResultType.UserIsNotActive имеет значение true (пользователь неактивен), но клиент получает общее сообщение «Произошла ошибка! - Сведения об ошибке не отправлены сервером "сообщение вместо" дружеское сообщение "
private Exception CreateExceptionForFailedLoginAttempt(AbpLoginResultType result, string usernameOrEmailAddress, string tenancyName)
{
switch (result)
{
case AbpLoginResultType.Success:
return new ApplicationException("Don't call this method with a success result!");
case AbpLoginResultType.InvalidUserNameOrEmailAddress:
// Wrong Username/password
return new UserFriendlyException(L("LoginFailed"), L("UnknownUser"));
case AbpLoginResultType.InvalidPassword:
return new UserFriendlyException(L("LoginFailed"), L("InvalidUserNameOrPassword"));
case AbpLoginResultType.InvalidTenancyName:
return new UserFriendlyException(L("LoginFailed"), L("ThereIsNoTenantDefinedWithName{0}", tenancyName));
case AbpLoginResultType.TenantIsNotActive:
return new UserFriendlyException(L("LoginFailed"), L("TenantIsNotActive", tenancyName));
case AbpLoginResultType.UserIsNotActive:
return new UserFriendlyException(L("LoginFailed"), L("UserIsNotActiveAndCanNotLogin", usernameOrEmailAddress));
case AbpLoginResultType.UserEmailIsNotConfirmed:
return new UserFriendlyException(L("LoginFailed"), "UserEmailIsNotConfirmedAndCanNotLogin");
case AbpLoginResultType.LockedOut:
return new UserFriendlyException(L("LoginFailed"), L("UserLockedOutMessage"));
default: //Can not fall to default actually. But other result types can be added in the future and we may forget to handle it
Logger.Warn("Unhandled login fail reason: " + result);
return new UserFriendlyException(L("LoginFailed"));
}
}
я посмотрел файл Log.txt и нашел
WARN 2017-09-27 10: 51: 55,219 [8] MPA_EF.Web.Controllers.AccountController - Ошибка входа! Abp.UI.UserFriendlyException: Ошибка входа! в BBWP_ABP_MPA_EF.Web.Controllers.AccountController.d__13.MoveNext () в C: _Ambienti \ vs2015 \ Biosic \ module-zero-template-2.1.1 \ src \ BBWP_ABP_MPA_EF.Web \ Controllers \ AccountController.cs: строка 130 --- Конец трассировки стека из предыдущего места, где было создано исключение --- в System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (задача задачи) в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (задача Task) в System.Runtime.TwaiterAervices_1. .CallEndDelegate (IAsyncResult asyncResult) в System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResultBase1.End()
at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3d()
at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f()
at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f()
at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f()
at System.Web.Mvc.Async.AsyncControllerActionInvoker.AsyncInvocationWithFilters.<>c__DisplayClass46.<InvokeActionMethodFilterAsynchronouslyRecursive>b__3f()
at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass33.<BeginInvokeActionMethodWithFilters>b__32(IAsyncResult asyncResult)
at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult
1.CallEndDelegate (IAsyncResult asyncResult) в System.WrappedAsyncResult.AsyncResult (IAsyncResult asyncResult) в System.Web.Async. .AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters (IAsyncResult asyncResult) в System.Web.Mvc.Async.AsyncControllerActionInvoker. ‹> C__DisplayClass21.‹> C__Disc.Asbc.Async. ctionInvoker. ‹> c__DisplayClass21.b__1e (IAsyncResult asyncResult)
Изменить без настройки в способе входа