ABP Framework 8.2.3, Micro Service architect. SQL server Db, any query has .Include() would throw exception:
System.Data.SqlTypes.SqlNullValueException: Data is Null. This method or property cannot be called on Null values. at Microsoft.Data.SqlClient.SqlBuffer.ThrowIfNull() at Microsoft.Data.SqlClient.SqlBuffer.get_String() at Microsoft.Data.SqlClient.SqlDataReader.GetString(Int32 i) at lambda_method1856(Closure, DbDataReader, Int32[]) at Microsoft.EntityFrameworkCore.Query.Internal.BufferedDataReader.BufferedDataRecord.ReadObject(DbDataReader reader, Int32 ordinal, ReaderColumn column) at Microsoft.EntityFrameworkCore.Query.Internal.BufferedDataReader.BufferedDataRecord.ReadRow()
Code: var query = await this.GetQueryableAsync(); var result = await query.Include(x => x.ChildEntity).Where (...).FirstOrDfaultAsync();
I check the EF core mapping and Db data, all valid.
Hi DominaTang,
We moved SaaS menu under the administration. If you talking about this, that's not bug but if you say saas menu not visible even under administartion I'll check also for it.
Yes, under administration menu, the 'Saas' menu item is not there after upgrade to ABP 8.2.x
hi
That's strange, Can you share a test project to reproduce?
Thanks
liming.ma@volosoft.com
Can we have a shared session?
The version 7 'Saas' menu is shown at the same level as 'Administration', however, with Abp 8.2.3 blank template, the UI looks like this:
If I downgrade the Abp to 8.1.3, "@volo/abp.ng.text-template-management": "~8.1.3", "@volosoft/abp.ng.theme.lepton-x": "3.1.1",
Then the "Saas menu appears again at the root level
hi
Can you check the permissions(in the permission modal of user or role) of the current user? Does he have saas permissions?
And what's your project info?
- UI Type: Angular / MVC / Blazor WASM / Blazor Server
- Database System: EF Core (SQL Server, Oracle, MySQL, PostgreSQL, etc..) / MongoDB
- Tiered (for MVC) or Auth Server Separated (for Angular): yes/no
Micro Services UI: Angular Db: MongoDB
After login to the app with host admin, with Insomnia copy the access token to request, and get data from the Url: https://localhost:44325/api/abp/application-configuration?IncludeLocalizationResources=False&api-version=1.0
{ "localization": { "values": {}, "resources": {}, "languages": [ { "cultureName": "en", "uiCultureName": "en", "displayName": "English", "twoLetterISOLanguageName": "en" } ], "currentCulture": { "displayName": "English", "englishName": "English", "threeLetterIsoLanguageName": "eng", "twoLetterIsoLanguageName": "en", "isRightToLeft": false, "cultureName": "en", "name": "en", "nativeName": "English", "dateTimeFormat": { "calendarAlgorithmType": "SolarCalendar", "dateTimeFormatLong": "dddd, MMMM d, yyyy", "shortDatePattern": "M/d/yyyy", "fullDateTimePattern": "dddd, MMMM d, yyyy h:mm:ss tt", "dateSeparator": "/", "shortTimePattern": "h:mm tt", "longTimePattern": "h:mm:ss tt" } }, "defaultResourceName": "Ess", "languagesMap": { //Omit... }, "languageFilesMap": { //Omit... }, "auth": { "grantedPolicies": { "AbpIdentity.Roles": true, "AbpIdentity.Roles.Create": true, "AbpIdentity.Roles.Update": true, "AbpIdentity.Roles.Delete": true, "AbpIdentity.Roles.ManagePermissions": true, "AuditLogging.ViewChangeHistory:Volo.Abp.Identity.IdentityRole": true, "AbpIdentity.Users": true, "AbpIdentity.Users.Create": true, "AbpIdentity.Users.Update": true, "AbpIdentity.Users.Update.ManageRoles": true, "AbpIdentity.Users.Update.ManageOU": true, "AbpIdentity.Users.Delete": true, "AbpIdentity.Users.ManagePermissions": true, "AuditLogging.ViewChangeHistory:Volo.Abp.Identity.IdentityUser": true, "AbpIdentity.Users.Impersonation": true, "AbpIdentity.Users.Import": true, "AbpIdentity.Users.Export": true, "AbpIdentity.Users.ViewDetails": true, "AbpIdentity.OrganizationUnits": true, "AbpIdentity.OrganizationUnits.ManageOU": true, "AbpIdentity.OrganizationUnits.ManageRoles": true, "AbpIdentity.OrganizationUnits.ManageMembers": true, "AbpIdentity.ClaimTypes": true, "AbpIdentity.ClaimTypes.Create": true, "AbpIdentity.ClaimTypes.Update": true, "AbpIdentity.ClaimTypes.Delete": true, "AbpIdentity.SettingManagement": true, "AbpIdentity.SecurityLogs": true, "AbpIdentity.Sessions": true, "AbpAccount.SettingManagement": true, "FeatureManagement.ManageHostFeatures": true, "SettingManagement.Emailing": true, "SettingManagement.Emailing.Test": true, "SettingManagement.TimeZone": true, "AuditLogging.AuditLogs": true, "LanguageManagement.LanguageTexts": true, "LanguageManagement.LanguageTexts.Edit": true, "LanguageManagement.Languages": true, "LanguageManagement.Languages.Create": true, "LanguageManagement.Languages.Edit": true, "LanguageManagement.Languages.ChangeDefault": true, "LanguageManagement.Languages.Delete": true, "TextTemplateManagement.TextTemplates": true, "TextTemplateManagement.TextTemplates.EditContents": true, "OpenIddictPro.Application": true, "OpenIddictPro.Application.Update": true, "OpenIddictPro.Application.Delete": true, "OpenIddictPro.Application.Create": true, "OpenIddictPro.Application.ManagePermissions": true, "AuditLogging.ViewChangeHistory:Volo.Abp.OpenIddict.Pro.Applications.Application": true, "OpenIddictPro.Scope": true, "OpenIddictPro.Scope.Update": true, "OpenIddictPro.Scope.Delete": true, "OpenIddictPro.Scope.Create": true, "AuditLogging.ViewChangeHistory:Volo.Abp.OpenIddict.Pro.Scopes.Scope": true, "Saas.Tenants": true, "Saas.Tenants.Create": true, "Saas.Tenants.Update": true, "Saas.Tenants.Delete": true, "Saas.Tenants.ManageFeatures": true, "Saas.Tenants.ManageConnectionStrings": true, "Saas.Tenants.SetPassword": true, "AuditLogging.ViewChangeHistory:Volo.Saas.Tenant": true, "Saas.Tenants.Impersonation": true, "Saas.Editions": true, "Saas.Editions.Create": true, "Saas.Editions.Update": true, "Saas.Editions.Delete": true, "Saas.Editions.ManageFeatures": true, "AuditLogging.ViewChangeHistory:Volo.Saas.Edition": true, "Payment.Plans": true, "Payment.Plans.Create": true, "Payment.Plans.Update": true, "Payment.Plans.Delete": true, "Payment.Plans.GatewayPlans": true, "Payment.Plans.GatewayPlans.Create": true, "Payment.Plans.GatewayPlans.Update": true, "Payment.Plans.GatewayPlans.Delete": true, "Payment.PaymentRequests": true } }, "setting": { "values": { ...//omit } }, "currentUser": { "isAuthenticated": true, "id": "62313e42-ceb3-a848-084e-3a13001ca858", "tenantId": null, "impersonatorUserId": null, "impersonatorTenantId": null, "impersonatorUserName": null, "impersonatorTenantName": null, "userName": "admin", "name": "admin", "surName": null, "email": "admin@abp.io", "emailVerified": false, "phoneNumber": null, "phoneNumberVerified": false, "roles": [ "admin" ], "sessionId": "a1548e95-1015-4455-8dbb-6e4929686da7" }, "features": { "values": { "Identity.TwoFactor": "Optional", "Identity.MaxUserCount": "0", "Account.EnableLdapLogin": "False", "Identity.EnableOAuthLogin": "False", "SettingManagement.Enable": "true", "SettingManagement.AllowChangingEmailSettings": "false", "LanguageManagement.Enable": "true", "TextManagement.Enable": "true", "AuditLogging.Enable": "true", "AuditLogging.SettingManagement": "false" } }, "globalFeatures": { "enabledFeatures": [] }, "multiTenancy": { "isEnabled": true }, "currentTenant": { "id": null, "name": null, "isAvailable": false }, "timing": { "timeZone": { "iana": { "timeZoneName": "Etc/UTC" }, "windows": { "timeZoneId": "UTC" } } }, "clock": { "kind": "Utc" }, "objectExtensions": { "modules": {}, "enums": {} }, "extraProperties": {} }
After upgrade to ABP 8.2.1 from ABP 7.2, login as host admin, The "Saas" menu (used for setup tenants and editions) are not visible any more.
I checked the from Administration Db, the AbpPermissionGrants table records are same.
Hi, Per google result, Twilio security code has 30 seconds expiration period, which means if a user use phone MFA within 30 seconds, the user would always get the same security code. It says there is a setting to change this time. With ABP I don't find any setting change the expiration period. Another issue is, after 30 seconds, a new code is generated, however the previous security code still could be used. It's said this is also expected behavior of Twilio. Is it a way to disable previous security code when new code is generated?
Thanks
I guess the Account folder files copied from Account module web project. I copied over login.js, then this issue is resolved. So the pending question is about where to copy over Theme source code to the project.
Our current solution has some custom pages in Auth server project:
After upgrade to ABP 8.2.1 (Theme.LeptonX latest version 3.2.0), on login screen, click the eye icon, the password is not changed to plain text. It must be related to the JS and login page's style and login css. But I don't know where is above pages copy from.
Plus, I also notice there are a Themes folder contains all source code of the theme? Where these files come from?
Can we book a session to share screen?