Я добавляю собственный PermissionValueProvider:
public class LegacyPermissionValueProvider : PermissionValueProvider
{
public LegacyPermissionValueProvider(IPermissionStore permissionStore) : base(permissionStore) { }
public override string Name => "LegacyPermissionValueProvider";
public override async Task<PermissionGrantResult> CheckAsync(PermissionValueCheckContext context)
{
//checking permissions
if (...)
{
return PermissionGrantResult.Granted;
}
return PermissionGrantResult.Undefined;
}
}
и регистрирую его в модуле:
public class LegacyApplicationContractsModule : AbpModule
{
public override void ConfigureServices(ServiceConfigurationContext context)
{
Configure<AbpPermissionOptions>(options =>
{
options.ValueProviders.Add<LegacyPermissionValueProvider>();
});
}
}
, но этот провайдер не используется системой, потому что я зарегистрировался в контейнере DI IPermissionChecker:
context.Services.AddSingleton<IPermissionChecker, PermissionChecker>();
документация ничего не говорит об этом.
Кто-нибудь знает, почему это происходит?