sozsoft-platform/api/src/Sozsoft.Platform.Application.Contracts/Permissions/PlatformPermissionDefinitionProvider.cs

48 lines
1.4 KiB
C#
Raw Normal View History

2026-02-24 20:44:16 +00:00
using Sozsoft.Platform.Localization;
using Volo.Abp.Authorization.Permissions;
using Volo.Abp.Localization;
using Volo.Abp.MultiTenancy;
2026-02-24 20:44:16 +00:00
namespace Sozsoft.Platform.Permissions;
public class PlatformPermissionDefinitionProvider : PermissionDefinitionProvider
{
public override void Define(IPermissionDefinitionContext context)
{
PermissionRemoveGroup(context);
DefineSetupPermissions(context);
}
/// <summary>
/// Kurulum / veritabanı bakım yetkileri. <see cref="MultiTenancySides.Host"/> ile
/// işaretlendiği için tenant kullanıcılarına hiç görünmez ve verilemez.
/// </summary>
private void DefineSetupPermissions(IPermissionDefinitionContext context)
{
var setupGroup = context.AddGroup(
PlatformPermissions.GroupName,
L("Permission:Setup"));
setupGroup.AddPermission(
PlatformPermissions.Setup.Migrate,
L("Permission:Setup.Migrate"),
MultiTenancySides.Host);
2026-02-24 20:44:16 +00:00
}
private static LocalizableString L(string name)
{
return LocalizableString.Create<PlatformResource>(name);
}
private void PermissionRemoveGroup(IPermissionDefinitionContext context)
{
context.RemoveGroup("AbpTenantManagement");
context.RemoveGroup("SettingManagement");
context.RemoveGroup("FeatureManagement");
context.RemoveGroup("AbpIdentity");
}
}