diff --git a/Volo.Abp.sln b/Volo.Abp.sln
index 03b96ae867..88f7f670df 100644
--- a/Volo.Abp.sln
+++ b/Volo.Abp.sln
@@ -1,7 +1,7 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 15
-VisualStudioVersion = 15.0.27130.2026
+VisualStudioVersion = 15.0.27130.2036
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{5DF0E140-0513-4D0D-BE2E-3D4D85CD70E6}"
EndProject
@@ -288,6 +288,10 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Serialization.Test
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Volo.Abp.Authorization.Tests", "test\Volo.Abp.Authorization.Tests\Volo.Abp.Authorization.Tests.csproj", "{B10E37A1-43A1-4042-BAAA-F589302958D5}"
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.Permissions.HttpApi", "src\Volo.Abp.Permissions.HttpApi\Volo.Abp.Permissions.HttpApi.csproj", "{94FBE061-CA28-4BDA-9E80-C65EE7E92637}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Volo.Abp.Permissions.HttpApi.Client", "src\Volo.Abp.Permissions.HttpApi.Client\Volo.Abp.Permissions.HttpApi.Client.csproj", "{01852E73-E8F8-4460-8BBF-9D20C8909366}"
+EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -758,6 +762,14 @@ Global
{B10E37A1-43A1-4042-BAAA-F589302958D5}.Debug|Any CPU.Build.0 = Debug|Any CPU
{B10E37A1-43A1-4042-BAAA-F589302958D5}.Release|Any CPU.ActiveCfg = Release|Any CPU
{B10E37A1-43A1-4042-BAAA-F589302958D5}.Release|Any CPU.Build.0 = Release|Any CPU
+ {94FBE061-CA28-4BDA-9E80-C65EE7E92637}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {94FBE061-CA28-4BDA-9E80-C65EE7E92637}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {94FBE061-CA28-4BDA-9E80-C65EE7E92637}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {94FBE061-CA28-4BDA-9E80-C65EE7E92637}.Release|Any CPU.Build.0 = Release|Any CPU
+ {01852E73-E8F8-4460-8BBF-9D20C8909366}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {01852E73-E8F8-4460-8BBF-9D20C8909366}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {01852E73-E8F8-4460-8BBF-9D20C8909366}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {01852E73-E8F8-4460-8BBF-9D20C8909366}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
@@ -898,6 +910,8 @@ Global
{38EF3EC8-9915-4216-B646-4BEE07006943} = {4C753F64-0C93-4D65-96C2-A40893AFC1E8}
{65FB5893-7CB6-4694-A692-7E666E347D29} = {37087D1B-3693-4E96-983D-A69F210BDE53}
{B10E37A1-43A1-4042-BAAA-F589302958D5} = {37087D1B-3693-4E96-983D-A69F210BDE53}
+ {94FBE061-CA28-4BDA-9E80-C65EE7E92637} = {055F4AC0-46C4-4E99-89CD-0F30D4A97382}
+ {01852E73-E8F8-4460-8BBF-9D20C8909366} = {055F4AC0-46C4-4E99-89CD-0F30D4A97382}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {BB97ECF4-9A84-433F-A80B-2A3285BDD1D5}
diff --git a/src/AbpDesk/Web_PlugIns/AbpDesk.MongoBlog.dll b/src/AbpDesk/Web_PlugIns/AbpDesk.MongoBlog.dll
index 64f470b685..7442ac42dd 100644
Binary files a/src/AbpDesk/Web_PlugIns/AbpDesk.MongoBlog.dll and b/src/AbpDesk/Web_PlugIns/AbpDesk.MongoBlog.dll differ
diff --git a/src/Volo.Abp.Permissions.HttpApi.Client/Volo.Abp.Permissions.HttpApi.Client.csproj b/src/Volo.Abp.Permissions.HttpApi.Client/Volo.Abp.Permissions.HttpApi.Client.csproj
new file mode 100644
index 0000000000..485c155e0a
--- /dev/null
+++ b/src/Volo.Abp.Permissions.HttpApi.Client/Volo.Abp.Permissions.HttpApi.Client.csproj
@@ -0,0 +1,25 @@
+
+
+
+
+
+ netstandard2.0
+ Volo.Abp.Permissions.HttpApi.Client
+ Volo.Abp.Permissions.HttpApi.Client
+ $(AssetTargetFallback);portable-net45+win8+wp8+wpa81;
+ false
+ false
+ false
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/Volo.Abp.Permissions.HttpApi.Client/Volo/Abp/Permissions/AbpPermissionsHttpApiClientModule.cs b/src/Volo.Abp.Permissions.HttpApi.Client/Volo/Abp/Permissions/AbpPermissionsHttpApiClientModule.cs
new file mode 100644
index 0000000000..8b78207ed9
--- /dev/null
+++ b/src/Volo.Abp.Permissions.HttpApi.Client/Volo/Abp/Permissions/AbpPermissionsHttpApiClientModule.cs
@@ -0,0 +1,19 @@
+using Microsoft.Extensions.DependencyInjection;
+using Volo.Abp.Http.Client;
+using Volo.Abp.Modularity;
+
+namespace Volo.Abp.Permissions
+{
+ [DependsOn(typeof(AbpPermissionsApplicationContractsModule), typeof(AbpHttpClientModule))]
+ public class AbpPermissionsHttpApiClientModule : AbpModule
+ {
+ public const string RemoteServiceName = "AbpPermissions";
+
+ public override void ConfigureServices(IServiceCollection services)
+ {
+ services.AddAssemblyOf();
+
+ services.AddHttpClientProxies(typeof(AbpPermissionsApplicationContractsModule).Assembly, RemoteServiceName);
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/Volo.Abp.Permissions.HttpApi/Volo.Abp.Permissions.HttpApi.csproj b/src/Volo.Abp.Permissions.HttpApi/Volo.Abp.Permissions.HttpApi.csproj
new file mode 100644
index 0000000000..643e767674
--- /dev/null
+++ b/src/Volo.Abp.Permissions.HttpApi/Volo.Abp.Permissions.HttpApi.csproj
@@ -0,0 +1,21 @@
+
+
+
+
+
+ netstandard2.0
+ Volo.Abp.Permissions.HttpApi
+ Volo.Abp.Permissions.HttpApi
+ $(AssetTargetFallback);portable-net45+win8+wp8+wpa81;
+ false
+ false
+ false
+
+
+
+
+
+
+
+
+
diff --git a/src/Volo.Abp.Permissions.HttpApi/Volo/Abp/Permissions/AbpPermissionsHttpApiModule.cs b/src/Volo.Abp.Permissions.HttpApi/Volo/Abp/Permissions/AbpPermissionsHttpApiModule.cs
new file mode 100644
index 0000000000..1ff2423d9c
--- /dev/null
+++ b/src/Volo.Abp.Permissions.HttpApi/Volo/Abp/Permissions/AbpPermissionsHttpApiModule.cs
@@ -0,0 +1,26 @@
+using Microsoft.Extensions.DependencyInjection;
+using Volo.Abp.AspNetCore.Mvc;
+using Volo.Abp.Modularity;
+
+namespace Volo.Abp.Permissions
+{
+ [DependsOn(typeof(AbpPermissionsApplicationModule), typeof(AbpAspNetCoreMvcModule))]
+ public class AbpPermissionsHttpApiModule : AbpModule
+ {
+ public override void ConfigureServices(IServiceCollection services)
+ {
+ services.AddAssemblyOf();
+
+ services.Configure(options =>
+ {
+ options.ConventionalControllers.Create(
+ typeof(AbpPermissionsApplicationModule).Assembly,
+ opts =>
+ {
+ opts.RootPath = "permissions";
+ }
+ );
+ });
+ }
+ }
+}
\ No newline at end of file