diff --git a/Oqtane.Client/Modules/Admin/ModuleCreator/Module.cs b/Oqtane.Client/Modules/Admin/ModuleCreator/ModuleInfo.cs similarity index 91% rename from Oqtane.Client/Modules/Admin/ModuleCreator/Module.cs rename to Oqtane.Client/Modules/Admin/ModuleCreator/ModuleInfo.cs index c57bf1a9..81b82a6d 100644 --- a/Oqtane.Client/Modules/Admin/ModuleCreator/Module.cs +++ b/Oqtane.Client/Modules/Admin/ModuleCreator/ModuleInfo.cs @@ -2,7 +2,7 @@ namespace Oqtane.Modules.Admin.ModuleCreator { - public class Module : IModule + public class ModuleInfo : IModule { public ModuleDefinition ModuleDefinition => new ModuleDefinition { diff --git a/Oqtane.Client/Modules/Admin/ModuleCreator/Templates/Oqtane.Client/Modules/[Module]/[Module].cs b/Oqtane.Client/Modules/Admin/ModuleCreator/Templates/Oqtane.Client/Modules/[Module]/[Module]Info.cs similarity index 89% rename from Oqtane.Client/Modules/Admin/ModuleCreator/Templates/Oqtane.Client/Modules/[Module]/[Module].cs rename to Oqtane.Client/Modules/Admin/ModuleCreator/Templates/Oqtane.Client/Modules/[Module]/[Module]Info.cs index 630b488e..5252730e 100644 --- a/Oqtane.Client/Modules/Admin/ModuleCreator/Templates/Oqtane.Client/Modules/[Module]/[Module].cs +++ b/Oqtane.Client/Modules/Admin/ModuleCreator/Templates/Oqtane.Client/Modules/[Module]/[Module]Info.cs @@ -3,7 +3,7 @@ using Oqtane.Modules; namespace Oqtane.Modules.[Module]s { - public class Module : IModule + public class ModuleInfo : IModule { public ModuleDefinition ModuleDefinition => new ModuleDefinition { diff --git a/Oqtane.Client/Modules/Counter/Module.cs b/Oqtane.Client/Modules/Counter/ModuleInfo.cs similarity index 87% rename from Oqtane.Client/Modules/Counter/Module.cs rename to Oqtane.Client/Modules/Counter/ModuleInfo.cs index dd2e0e35..053017f9 100644 --- a/Oqtane.Client/Modules/Counter/Module.cs +++ b/Oqtane.Client/Modules/Counter/ModuleInfo.cs @@ -2,7 +2,7 @@ namespace Oqtane.Modules.Counter { - public class Module : IModule + public class ModuleInfo : IModule { public ModuleDefinition ModuleDefinition => new ModuleDefinition { diff --git a/Oqtane.Client/Modules/Weather/Module.cs b/Oqtane.Client/Modules/Weather/ModuleInfo.cs similarity index 88% rename from Oqtane.Client/Modules/Weather/Module.cs rename to Oqtane.Client/Modules/Weather/ModuleInfo.cs index 99922df4..0588c563 100644 --- a/Oqtane.Client/Modules/Weather/Module.cs +++ b/Oqtane.Client/Modules/Weather/ModuleInfo.cs @@ -2,7 +2,7 @@ namespace Oqtane.Modules.Weather { - public class Module : IModule + public class ModuleInfo : IModule { public ModuleDefinition ModuleDefinition => new ModuleDefinition { diff --git a/Oqtane.Client/Program.cs b/Oqtane.Client/Program.cs index 4172834b..9e4e1261 100644 --- a/Oqtane.Client/Program.cs +++ b/Oqtane.Client/Program.cs @@ -20,6 +20,7 @@ namespace Oqtane.Client builder.RootComponents.Add("app"); builder.Services.AddBaseAddressHttpClient(); + builder.Services.AddOptions(); // register auth services builder.Services.AddAuthorizationCore(); diff --git a/Oqtane.Server/Controllers/ModuleDefinitionController.cs b/Oqtane.Server/Controllers/ModuleDefinitionController.cs index 3f0f1e84..6ed8b830 100644 --- a/Oqtane.Server/Controllers/ModuleDefinitionController.cs +++ b/Oqtane.Server/Controllers/ModuleDefinitionController.cs @@ -122,13 +122,22 @@ namespace Oqtane.Controllers } } - // GET api//load/filename - [HttpGet("load/{filename}")] + // GET api//load/assembyname + [HttpGet("load/{assemblyname}")] public IActionResult Load(string assemblyname) { - string binfolder = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location); - byte[] file = System.IO.File.ReadAllBytes(Path.Combine(binfolder, assemblyname)); - return File(file, "application/octet-stream", assemblyname); + if (Path.GetExtension(assemblyname).ToLower() == ".dll") + { + string binfolder = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location); + byte[] file = System.IO.File.ReadAllBytes(Path.Combine(binfolder, assemblyname)); + return File(file, "application/octet-stream", assemblyname); + } + else + { + _logger.Log(LogLevel.Error, this, LogFunction.Read, "User Not Authorized To Download Assembly {Assembly}", assemblyname); + HttpContext.Response.StatusCode = 401; + return null; + } } // POST api/?moduleid=x diff --git a/Oqtane.Server/Controllers/ThemeController.cs b/Oqtane.Server/Controllers/ThemeController.cs index 120e5d96..af7af8e1 100644 --- a/Oqtane.Server/Controllers/ThemeController.cs +++ b/Oqtane.Server/Controllers/ThemeController.cs @@ -75,13 +75,23 @@ namespace Oqtane.Controllers } } - // GET api//load/filename - [HttpGet("load/{filename}")] - public IActionResult Load(string filename) + // GET api//load/assembyname + [HttpGet("load/{assemblyname}")] + public IActionResult Load(string assemblyname) { - string binfolder = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location); - byte[] file = System.IO.File.ReadAllBytes(Path.Combine(binfolder, filename)); - return File(file, "application/octet-stream", filename); + if (Path.GetExtension(assemblyname).ToLower() == ".dll") + { + string binfolder = Path.GetDirectoryName(Assembly.GetEntryAssembly().Location); + byte[] file = System.IO.File.ReadAllBytes(Path.Combine(binfolder, assemblyname)); + return File(file, "application/octet-stream", assemblyname); + } + else + { + _logger.Log(LogLevel.Error, this, LogFunction.Read, "User Not Authorized To Download Assembly {Assembly}", assemblyname); + HttpContext.Response.StatusCode = 401; + return null; + } } + } } diff --git a/Oqtane.Server/Startup.cs b/Oqtane.Server/Startup.cs index 714834e1..fc5825d2 100644 --- a/Oqtane.Server/Startup.cs +++ b/Oqtane.Server/Startup.cs @@ -218,11 +218,8 @@ namespace Oqtane installationManager.InstallPackages("Modules,Themes", false); app.UseHttpsRedirection(); - app.UseStaticFiles(); - app.UseBlazorFrameworkFiles(); - app.UseRouting(); app.UseAuthentication(); app.UseAuthorization();