Hello i have created another query please reply in that
No you did not understand what i am asking
i have check this query also in administation host and tenant databse
SELECT * FROM AbpFeatureValues WHERE Name LIKE '%TourModule%' OR Name LIKE '%TourService%' ORDER BY ProviderName, ProviderKey;
no record
ABP Commercial v9.2.0, .NET 9.0
Features are configured at Host level via SaaS Tenant management. When TourModule.TourService feature is disabled for a tenant, that tenant's Permission Management UI still shows all Tour permissions.
Tenant Edition: standard
Feature definition (TMSMSFeature.cs):
public const string GroupName = "TourModule"; public const string Tour = GroupName + ".TourService"; // = "TourModule.TourService"
Feature provider (FeatureProvider.cs):
myGroup.AddFeature(TMSMSFeature.Tour, defaultValue: "false", displayName: LocalizableString.Create<TourServiceResource>("TourServiceModule"), valueType: new ToggleStringValueType());
Permission definitions (all Tour permissions have .RequireFeatures):
var tourCategoryPermission = myGroup.AddPermission( TourServicePermissions.TourCategories.Default, L("Permission:TourCategories")).RequireFeatures(TMSMSFeature.Tour); tourCategoryPermission.AddChild(TourServicePermissions.TourCategories.Create, L("Permission:Create")).RequireFeatures(TMSMSFeature.Tour); tourCategoryPermission.AddChild(TourServicePermissions.TourCategories.Edit, L("Permission:Edit")).RequireFeatures(TMSMSFeature.Tour); tourCategoryPermission.AddChild(TourServicePermissions.TourCategories.Delete, L("Permission:Delete")).RequireFeatures(TMSMSFeature.Tour);
All permissions in TourServicePermissionDefinitionProvider.cs follow this same pattern with .RequireFeatures(TMSMSFeature.Tour).
**Additional issue: **Some permissions generated by ABP Suite do NOT include .RequireFeatures(). When we generate a new entity table using ABP Suite, the auto-generated permission definitions are created without .RequireFeatures(). For example:
// ABP Suite generates this (no .RequireFeatures): var tourGlobalMarkupPermission = myGroup.AddPermission( TourServicePermissions.TourGlobalMarkups.Default, L("Permission:TourGlobalMarkups")); Can ABP Suite be configured to automatically add .RequireFeatures() when generating permissions? Or is there a way to set this at the group level so all child permissions inherit it?
Screenshots attached:
Feature Management UI showing TourModule disabled for "standard" edition The permission management UI still showing Tour permissions for that tenant
Expected:
When TourServiceModule feature is disabled at Host level for a tenant (or its edition), Tour permissions should be hidden from that tenant's Permission Management UI. ABP Suite should support adding .RequireFeatures() automatically during entity generation.
This screenshot for the tenant feature
This from edition feature.
Screenshot of the Feature Management UI with TourModule disabled — and please note whether you're viewing it as Host or as a specific Tenant
see feature only able to see in host under saas of tenants tabs, okay?
and permission I am seeing under tenant login and roles section
The feature values from the database:
no record in tenant
Which ABP version you're using for this environment
ABP Commercial v9.2.0 with .NET 9.0
We checked our TourService backend. All permissions already have .RequireFeatures() configured:
TMSMSFeature.cs:
public const string GroupName = "TourModule"; public const string Tour = GroupName + ".TourService"; // = "TourModule.TourService"
FeatureProvider.cs:
myGroup. AddFeature(TMSMSFeature.Tour, defaultValue: "false", ...);
TourServicePermissionDefinitionProvider.cs:
Every permission already has .RequireFeatures(TMSMSFeature.Tour)—for example:
myGroup.AddPermission(TourServicePermissions.TourCategories.Default, ...) .RequireFeatures(TMSMSFeature.Tour); tourCategoryPermission.AddChild(TourServicePermissions.TourCategories.Create, ...) .RequireFeatures(TMSMSFeature.Tour);
All permissions in the file follow this pattern. So the issue is not missing .RequireFeatures() — it's already there on every permission. Despite disabling the feature in the Feature Management UI, permissions still appear. Could this be a framework-level issue with permission UI not respecting RequireFeatures when listing?
one more thing. Suppose I have 20 microservices module wise in that in one production I just use only 1 module and with your ABP, all common microservices so when i make new production environment, ABP makes my default admin role with all permissions. then in this we have features like this or not that, whatever feature is assigned as module to that production that only permission goes in admin and fetch also that only
OKay Thank you so much. i will deploy this in all my production environments and test it and if there are any further issues, I will let you know
So now do I need to remove all logs and this final optimized code update in all three of my productions?
Hello this is warm logs
13:45:36 LOG [08:15:24 DBG] Executing AbpApplicationConfigurationAppService.GetAsync()... 13:45:36 LOG [08:15:24 INF] OptimizedAppConfig [Step1] GetPoliciesNamesAsync: 6ms, count: 4358 13:45:36 LOG [08:15:24 INF] OptimizedAppConfig [Step2] GetPermissionsAsync+HashSet: 4ms, count: 4358 13:45:36 LOG [08:15:24 INF] OptimizedAppConfig [Step3] ClassifyPolicies loop: 0ms, abp: 4358, other: 0 13:45:36 LOG [08:15:24 INF] OptimizedAppConfig [Step4] OtherPolicies check: 0ms 13:45:36 LOG [08:15:24 INF] OptimizedAppConfig [Step5] PermissionChecker type: TMSMS.AdministrationService.OptimizedPermissionChecker 13:45:36 LOG [08:15:24 INF] OptimizedPermissionChecker.IsGrantedAsync called with 4358 permissions 13:45:36 LOG [08:15:24 INF] OptimizedPermissionChecker [StepA] GetPermissionsAsync: 3ms, count: 4358 13:45:36 LOG [08:15:24 INF] OptimizedPermissionChecker [StepB] Filter: 17ms, needStateCheck: 4047, noStateCheck: 275 13:45:36 LOG [08:15:24 INF] OptimizedPermissionChecker: Pre-loaded 31 unique feature values 13:45:36 LOG [08:15:24 INF] OptimizedPermissionChecker [StepC] StateCheck: 41ms, passed: 1827 13:45:36 LOG [08:15:24 DBG] BulkPermissionStore: cache hit for U:8e19f3c2-3cca-01a5-c78a-3a1fd5abe6b6. 13:45:36 LOG [08:15:24 DBG] BulkPermissionStore: cache hit for R:admin. 13:45:36 LOG [08:15:24 DBG] BulkPermissionStore: cache hit for C:Angular. 13:45:36 LOG [08:15:24 INF] OptimizedPermissionChecker [StepD] Providers: 35ms 13:45:36 LOG [08:15:24 INF] OptimizedPermissionChecker total: 99ms 13:45:36 LOG [08:15:24 INF] OptimizedAppConfig [Step5] PermissionChecker.IsGrantedAsync: 100ms, granted: 1822 13:45:36 LOG [08:15:24 INF] OptimizedAppConfig GetAuthConfigAsync total: 112ms 13:45:36 LOG [08:15:24 INF] OptimizedAppConfig: GetFeaturesConfigAsync took 40ms 13:45:36 LOG [08:15:24 INF] OptimizedAppConfig: GetLocalizationConfigAsync took 0ms 13:45:36 LOG [08:15:24 INF] OptimizedAppConfig: GetTimingConfigAsync took 1ms 13:45:36 LOG [08:15:24 DBG] Executed AbpApplicationConfigurationAppService.GetAsync(). 13:45:36 LOG [08:15:24 INF] Executing ObjectResult, writing value of type 'Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.ApplicationConfigurationDto'. 13:45:36 LOG [08:15:24 INF] Executed action Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.AbpApplicationConfigurationController.GetAsync (Volo.Abp.AspNetCore.Mvc) in 167.8399ms 13:45:36 LOG [08:15:24 INF] Executed endpoint 'Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.AbpApplicationConfigurationController.GetAsync (Volo.Abp.AspNetCore.Mvc)' 13:45:36 LOG [08:15:24 INF] Request finished HTTP/1.1 GET http://adminserver/api/abp/application-configuration?includeLocalizationResources=false - 200 null application/json; charset=utf-8 173.8023ms 13:45:36 LOG [08:15:25 INF] Request starting HTTP/1.1 GET http://adminserver/api/abp/application-localization?cultureName=en&onlyDynamics=false - null null
And these newtork's tabs, I want to ask you, without this, did anything happen in this API or not?
Like, why is the network server response time 457 ms and in logs 167.8399 ms?

and why this open-configuration takes 1 sec