Browse Source

Merge pull request #24634 from abpframework/auto-merge/rel-10-1/4278

Merge branch dev with rel-10.1
pull/24637/head
Ma Liming 9 months ago
committed by GitHub
parent
commit
f0efe31654
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 20
      framework/src/Volo.Abp.AspNetCore.Components.Web.Theming/PageToolbars/SimplePageToolbarContributor.cs

20
framework/src/Volo.Abp.AspNetCore.Components.Web.Theming/PageToolbars/SimplePageToolbarContributor.cs

@ -16,6 +16,8 @@ public class SimplePageToolbarContributor : IPageToolbarContributor
public string? RequiredPolicyName { get; } public string? RequiredPolicyName { get; }
private bool? _shouldAddComponent;
public SimplePageToolbarContributor( public SimplePageToolbarContributor(
Type componentType, Type componentType,
Dictionary<string, object?>? arguments = null, Dictionary<string, object?>? arguments = null,
@ -38,15 +40,19 @@ public class SimplePageToolbarContributor : IPageToolbarContributor
protected virtual async Task<bool> ShouldAddComponentAsync(PageToolbarContributionContext context) protected virtual async Task<bool> ShouldAddComponentAsync(PageToolbarContributionContext context)
{ {
if (RequiredPolicyName != null) if (_shouldAddComponent.HasValue)
{
return _shouldAddComponent.Value;
}
if (RequiredPolicyName == null)
{ {
var authorizationService = context.ServiceProvider.GetRequiredService<IAuthorizationService>(); _shouldAddComponent = true;
if (!await authorizationService.IsGrantedAsync(RequiredPolicyName)) return _shouldAddComponent.Value;
{
return false;
}
} }
return true; var authorizationService = context.ServiceProvider.GetRequiredService<IAuthorizationService>();
_shouldAddComponent = await authorizationService.IsGrantedAsync(RequiredPolicyName);
return _shouldAddComponent.Value;
} }
} }

Loading…
Cancel
Save