如何在AbpAuthorizationModule中覆盖AbpAuthoriizationResources本地化



我已经成功地覆盖了一些本地化资源,但由于某些原因,我无法为授权本地化进行覆盖。

正如你从我下面的代码中看到的,在我的域共享模块中,如果成功地从不同的模块添加了本地化,但为了授权,它不起作用。

例如

这只是响应的一部分

"code": "Volo.Authorization:010002",
"message": "Authorization failed! Given policy has not granted: SimplyAir.TimeTracks",

在我的sr.json本地化文件中,我添加了这个本地化字符串,并像其他模块一样对其进行了翻译。但是来自身份验证模块的本地化不起作用

{
[DependsOn(
typeof(AbpAuditLoggingDomainSharedModule),
typeof(AbpBackgroundJobsDomainSharedModule),
typeof(AbpFeatureManagementDomainSharedModule),
typeof(AbpIdentityDomainSharedModule),
typeof(AbpIdentityServerDomainSharedModule),
typeof(AbpPermissionManagementDomainSharedModule),
typeof(AbpSettingManagementDomainSharedModule),
typeof(AbpTenantManagementDomainSharedModule),
typeof(AbpAccountApplicationContractsModule),
typeof(AbpAuthorizationModule), //i have added auth module
typeof(AbpUiModule)
)]
public class SimplyAirDomainSharedModule : AbpModule
{
public override void PreConfigureServices(ServiceConfigurationContext context)
{
SimplyAirGlobalFeatureConfigurator.Configure();
SimplyAirModuleExtensionConfigurator.Configure();
}
public override void ConfigureServices(ServiceConfigurationContext context)
{
Configure<AbpVirtualFileSystemOptions>(options =>
{
options.FileSets.AddEmbedded<SimplyAirDomainSharedModule>();
});
Configure<AbpLocalizationOptions>(options =>
{
options.Resources
.Add<SimplyAirResource>("sr")
.AddBaseTypes(typeof(AbpValidationResource))
.AddVirtualJson("/Localization/SimplyAir");
options.Resources
.Get<IdentityResource>()
.AddVirtualJson("/Localization/SimplyAir");
options.Resources
.Get<AbpAuthorizationResource>() //ive included auth resource
.AddVirtualJson("/Localization/SimplyAir");
options.Resources
.Get<AccountResource>()
.AddVirtualJson("/Localization/SimplyAir");
options.Resources
.Get<AbpUiResource>()
.AddVirtualJson("/Localization/SimplyAir");
options.DefaultResourceType = typeof(SimplyAirResource);
});
Configure<AbpExceptionLocalizationOptions>(options =>
{
options.MapCodeNamespace("SimplyAir", typeof(SimplyAirResource));
});
}
}
}

首先,检查数据库表[AbpPermissionGrants],检查是否已授予SimplyAir.TimeTracks权限。如果没有,我认为你可以再次更新一个新的数据库和种子授予数据,检查权限授予数据。

最新更新