Browse Source

Refactor `TelemetryPermissionInfoEnricher`: update permission count logic to consider only user-defined permissions.

issue-#6768
Emre KARA 8 months ago
parent
commit
fe1a4fda72
  1. 15
      framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/Permissions/TelemetryPermissionInfoEnricher.cs

15
framework/src/Volo.Abp.Authorization/Volo/Abp/Authorization/Permissions/TelemetryPermissionInfoEnricher.cs

@ -1,4 +1,5 @@
using System; using System;
using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
using Volo.Abp.DependencyInjection; using Volo.Abp.DependencyInjection;
using Volo.Abp.Internal.Telemetry.Activity; using Volo.Abp.Internal.Telemetry.Activity;
@ -27,6 +28,18 @@ public sealed class TelemetryPermissionInfoEnricher : TelemetryActivityEventEnri
protected async override Task ExecuteAsync(ActivityContext context) protected async override Task ExecuteAsync(ActivityContext context)
{ {
var permissions = await _permissionDefinitionManager.GetPermissionsAsync(); var permissions = await _permissionDefinitionManager.GetPermissionsAsync();
context.Current[ActivityPropertyNames.PermissionCount] = permissions.Count;
var userDefinedPermissionsCount = permissions.Count(IsUserDefinedPermission);
context.Current[ActivityPropertyNames.PermissionCount] = userDefinedPermissionsCount;
}
private static bool IsUserDefinedPermission(PermissionDefinition permission)
{
return permission.Properties.TryGetValue(PermissionDefinitionContext.KnownPropertyNames.CurrentProviderName, out var providerName) &&
providerName is string &&
!providerName.ToString()!.StartsWith(TelemetryConsts.VoloNameSpaceFilter);
} }
} }
Loading…
Cancel
Save