We found the problem. It was the changes to SimpleStringCipher. We had data (connection strings) already encrypted in the prior method and that prevented us from logging in. We are now going to set up Feedly.com to watch the github source for this file so we will know when changes are. Thank you for your help.
The log file is attached. The error is:
naries.DictionaryBasedLocalizationSource - Can not find 'SetupOther' in localization source 'AbpZeroTemplate'!
ERROR 2017-09-13 08:21:43,161 [8 ] mplate.Web.Controllers.AccountController - Padding is invalid and cannot be removed.
System.Security.Cryptography.CryptographicException: Padding is invalid and cannot be removed.
We don't know what could have caused this on our side. We welcome any suggestions. Thanks Logs.zip
We are having a similar problem. Can you post the answer to this thread so the rest of us can learn from it?
Thanks
We tried to upgrade our existing project and it will build. When we run, we cannot log in anymore. It gets to the [Post] Action of AccountController and then into GetLoginResultAsync's first line:
var loginResult = await _logInManager.LoginAsync(usernameOrEmailAddress, password, tenancyName);
When stepping through the code, this loops infinitely through our host DB context, ABpZeroTemplateHostDbContext.cs's constructor:
public AbpZeroTemplateHostDbContext(string nameOrConnectionString)
: base(nameOrConnectionString)
{
}
Then we get the generic error message. We have tried to troubleshoot this to the best of our ability for days and have not figured out what could be going on. Screenshots are attached. We thought this might be connected to the reference errors, but maybe it is two separate issues. Is there any way to debug further? screenshots.zip
The issue has now been resolved.
It was a stupid mistake while the test was mocking an ISettingManger. The production code was constructor injecting a SettingManager.
Altering the production dependency to inject an ISettingManger resulted in the expected behavior.
Thanks for your time.
Dear @alper,
Using the guidance from the Asp.Net core project.
I tried just replacing the mocking container using NSubstitute from AutoFixture.AutoMoq as per the example, see below.
// _settingManager = fixture.Freeze<Mock<ISettingManager>>();
_settingManager = Substitute.For<ISettingManager>();
fixture.Inject<ISettingManager>(_settingManager);
I'm still getting the Parameterless constructor error in SettingDefinition (see SettingDefinition_Parameterless_Ctor.png).
When we started a year plus ago with Apb Zero we created some custom database contexts. This is because of the great feature of Single Deployment with Multiple Databases which fits our needs exactly (see Custom_DbContexts.png).
For better or worse we struggled using AppTestBase class and abandoned deriving from it for our custom tests.
So I'm going to need to spend a little time to research reintegrating or creating a new base class to take advantage of LocalIocManager and Component from the aforementioned example you provided.
Hi @ismcagdas,
This is from our packages.config file: <package id="Abp" version="2.1.3" targetFramework="net461" /> ... <package id="EntityFramework.DynamicFilters" version="2.7.0" targetFramework="net461" />
Thank you for your help and effort.
Thank you for the response. Have you discovered any new information?
Dear @ismcagdas,
We used the premise of your suggestion to simplify our configuration options by creating a static class and hard coding the return values. The class lives in the Application project and is used by both Abpz projects as well as our custom ones so we wanted global one-time configuration, but don't need to store in the database. We are using this conjunction with a third-party Rest client.
This issue has been resolved.
Dear @ismcagdas,
We are using the ASP.NET MVC 5.x the version.
Regards