diff --git a/src/AbpDesk/AbpDesk.Web.Mvc/Permissions/AbpDeskPermissionDefinitionProvider.cs b/src/AbpDesk/AbpDesk.Web.Mvc/Permissions/AbpDeskPermissionDefinitionProvider.cs index b65bdd412c..a447f9bfc7 100644 --- a/src/AbpDesk/AbpDesk.Web.Mvc/Permissions/AbpDeskPermissionDefinitionProvider.cs +++ b/src/AbpDesk/AbpDesk.Web.Mvc/Permissions/AbpDeskPermissionDefinitionProvider.cs @@ -1,5 +1,4 @@ using Volo.Abp.Authorization.Permissions; -using Volo.Abp.Permissions; namespace AbpDesk.Web.Mvc.Permissions { @@ -16,13 +15,6 @@ namespace AbpDesk.Web.Mvc.Permissions var customers = abpDeskGroup.AddPermission("AbpDesk.Customers"); customers.AddChild("AbpDesk.Customers.Create"); customers.AddChild("AbpDesk.Customers.Delete"); - - var identityGroup = context.AddGroup("Identity"); - - var userManagement = identityGroup.AddPermission("Identity.UserManagement"); - userManagement.AddChild("Identity.UserManagement.Create"); - userManagement.AddChild("Identity.UserManagement.Update"); - userManagement.AddChild("Identity.UserManagement.Delete"); } } } diff --git a/src/Volo.Abp.Identity.Application.Contracts/Volo.Abp.Identity.Application.Contracts.csproj b/src/Volo.Abp.Identity.Application.Contracts/Volo.Abp.Identity.Application.Contracts.csproj index 3a5f5ac4d6..da73098120 100644 --- a/src/Volo.Abp.Identity.Application.Contracts/Volo.Abp.Identity.Application.Contracts.csproj +++ b/src/Volo.Abp.Identity.Application.Contracts/Volo.Abp.Identity.Application.Contracts.csproj @@ -14,6 +14,7 @@ + diff --git a/src/Volo.Abp.Identity.Application.Contracts/Volo/Abp/Identity/AbpIdentityApplicationContractsModule.cs b/src/Volo.Abp.Identity.Application.Contracts/Volo/Abp/Identity/AbpIdentityApplicationContractsModule.cs index e481a0be43..54b4b99a24 100644 --- a/src/Volo.Abp.Identity.Application.Contracts/Volo/Abp/Identity/AbpIdentityApplicationContractsModule.cs +++ b/src/Volo.Abp.Identity.Application.Contracts/Volo/Abp/Identity/AbpIdentityApplicationContractsModule.cs @@ -1,14 +1,22 @@ using Microsoft.Extensions.DependencyInjection; +using Volo.Abp.Authorization; +using Volo.Abp.Authorization.Permissions; using Volo.Abp.Modularity; namespace Volo.Abp.Identity { - [DependsOn(typeof(AbpDddModule))] [DependsOn(typeof(AbpIdentityDomainSharedModule))] + [DependsOn(typeof(AbpAuthorizationModule))] + [DependsOn(typeof(AbpDddModule))] public class AbpIdentityApplicationContractsModule : AbpModule { public override void ConfigureServices(IServiceCollection services) { + services.Configure(options => + { + options.DefinitionProviders.Add(); + }); + services.AddAssemblyOf(); } } diff --git a/src/Volo.Abp.Identity.Application.Contracts/Volo/Abp/Identity/IdentityPermissionDefinitionProvider.cs b/src/Volo.Abp.Identity.Application.Contracts/Volo/Abp/Identity/IdentityPermissionDefinitionProvider.cs new file mode 100644 index 0000000000..35d3e967a0 --- /dev/null +++ b/src/Volo.Abp.Identity.Application.Contracts/Volo/Abp/Identity/IdentityPermissionDefinitionProvider.cs @@ -0,0 +1,22 @@ +using Volo.Abp.Authorization.Permissions; + +namespace Volo.Abp.Identity +{ + public class IdentityPermissionDefinitionProvider : PermissionDefinitionProvider + { + public override void Define(IPermissionDefinitionContext context) + { + var identityGroup = context.AddGroup(IdentityPermissions.GroupName); + + var rolesPermission = identityGroup.AddPermission(IdentityPermissions.Roles.Default); + rolesPermission.AddChild(IdentityPermissions.Roles.Create); + rolesPermission.AddChild(IdentityPermissions.Roles.Update); + rolesPermission.AddChild(IdentityPermissions.Roles.Delete); + + var usersPermission = identityGroup.AddPermission(IdentityPermissions.Users.Default); + usersPermission.AddChild(IdentityPermissions.Users.Create); + usersPermission.AddChild(IdentityPermissions.Users.Update); + usersPermission.AddChild(IdentityPermissions.Users.Delete); + } + } +} diff --git a/src/Volo.Abp.Identity.Application.Contracts/Volo/Abp/Identity/IdentityPermissions.cs b/src/Volo.Abp.Identity.Application.Contracts/Volo/Abp/Identity/IdentityPermissions.cs new file mode 100644 index 0000000000..ea6588073a --- /dev/null +++ b/src/Volo.Abp.Identity.Application.Contracts/Volo/Abp/Identity/IdentityPermissions.cs @@ -0,0 +1,23 @@ +namespace Volo.Abp.Identity +{ + public static class IdentityPermissions + { + public const string GroupName = "AbpIdentity"; + + public static class Roles + { + public const string Default = GroupName + ".Roles"; + public const string Create = Default + ".Create"; + public const string Update = Default + ".Update"; + public const string Delete = Default + ".Delete"; + } + + public static class Users + { + public const string Default = GroupName + ".Users"; + public const string Create = Default + ".Create"; + public const string Update = Default + ".Update"; + public const string Delete = Default + ".Delete"; + } + } +} \ No newline at end of file