From 0ef8f2e9365b9aa35b44ff3cf5033f1f8cafa1b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20Kalkan?= Date: Fri, 23 Feb 2018 15:22:33 +0300 Subject: [PATCH] Created IdentityPermissionDefinitionProvider. --- .../AbpDeskPermissionDefinitionProvider.cs | 8 ------- ....Abp.Identity.Application.Contracts.csproj | 1 + .../AbpIdentityApplicationContractsModule.cs | 10 +++++++- .../IdentityPermissionDefinitionProvider.cs | 22 ++++++++++++++++++ .../Volo/Abp/Identity/IdentityPermissions.cs | 23 +++++++++++++++++++ 5 files changed, 55 insertions(+), 9 deletions(-) create mode 100644 src/Volo.Abp.Identity.Application.Contracts/Volo/Abp/Identity/IdentityPermissionDefinitionProvider.cs create mode 100644 src/Volo.Abp.Identity.Application.Contracts/Volo/Abp/Identity/IdentityPermissions.cs 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