From 0da58b2aaff375c421e748143d3fe8c3551df4e1 Mon Sep 17 00:00:00 2001 From: JianWeie Date: Mon, 11 Apr 2022 16:29:12 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E4=BF=AE=E5=A4=8D=E3=80=91=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E5=A2=9E=E5=8A=A0=E6=95=B0=E6=8D=AE=E5=BA=93=E6=93=8D?= =?UTF-8?q?=E4=BD=9C=E6=97=A5=E5=BF=97=E5=90=8E=EF=BC=8CApi=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E7=AB=AF=E5=BC=80=E5=90=AF=E9=80=82=E9=85=8D=E6=8A=A5?= =?UTF-8?q?=E9=94=99=E7=9A=84=E9=97=AE=E9=A2=98=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AdminsControllerPermission.cs | 19 ++++---- .../RecordAccessLogsMildd.cs | 2 +- .../Controllers/Com/ToolsController.cs | 2 +- CoreCms.Net.Web.Admin/Doc.xml | 43 +++++++++++++++++++ CoreCms.Net.Web.Admin/appsettings.json | 2 +- CoreCms.Net.Web.WebApi/appsettings.json | 4 +- 6 files changed, 59 insertions(+), 13 deletions(-) diff --git a/CoreCms.Net.Filter/AdminsControllerPermission.cs b/CoreCms.Net.Filter/AdminsControllerPermission.cs index f188dcc4..292769ea 100644 --- a/CoreCms.Net.Filter/AdminsControllerPermission.cs +++ b/CoreCms.Net.Filter/AdminsControllerPermission.cs @@ -38,11 +38,14 @@ namespace CoreCms.Net.Filter /// 反射获取所有controller 和action /// /// - private static ControllerPermissionResult GetAllControllerAndActionByAssembly() + private static ControllerPermissionResult GetAllControllerAndActionByAssembly(string dataSources) { var result = new List(); - var types = Assembly.Load("CoreCms.Net.Web.Admin").GetTypes(); + var types = dataSources == GlobalEnumVars.CoreShopSystemCategory.Admin.ToString() ? Assembly.Load("CoreCms.Net.Web.Admin").GetTypes() : + dataSources == GlobalEnumVars.CoreShopSystemCategory.Api.ToString() ? Assembly.Load("CoreCms.Net.Web.WebApi").GetTypes() : null; + + //var types = Assembly.Load("CoreCms.Net.Web.Admin").GetTypes(); var noController = new[] { "ToolsController", "LoginController", "DemoController" }; @@ -136,30 +139,30 @@ namespace CoreCms.Net.Filter /// 获取缓存ActionPermission /// /// - public static List GetCacheCoreCmsActionPermission() + public static List GetCacheCoreCmsActionPermission(string dataSources) { var memoryCacheManager = new MemoryCacheManager(); var cache = memoryCacheManager.Get>(CacheCoreCmsActionPermission); - return cache ?? UpdateCacheCoreCmsActionPermission().Actions; + return cache ?? UpdateCacheCoreCmsActionPermission(dataSources).Actions; } /// /// 获取缓存ControllerPermission名称 /// /// - public static List GetCacheCoreCmsControllerPermission() + public static List GetCacheCoreCmsControllerPermission(string dataSources) { var memoryCacheManager = new MemoryCacheManager(); var cache = memoryCacheManager.Get>(CacheCoreCmsControllerPermission); - return cache ?? UpdateCacheCoreCmsActionPermission().ControllersAndActions; + return cache ?? UpdateCacheCoreCmsActionPermission(dataSources).ControllersAndActions; } /// /// 更新cache /// - private static ControllerPermissionResult UpdateCacheCoreCmsActionPermission() + private static ControllerPermissionResult UpdateCacheCoreCmsActionPermission(string dataSources) { - var list = GetAllControllerAndActionByAssembly(); + var list = GetAllControllerAndActionByAssembly(dataSources); var memoryCacheManager = new MemoryCacheManager(); //缓存24小时 memoryCacheManager.Set(CacheCoreCmsControllerPermission, list.ControllersAndActions, 1440); diff --git a/CoreCms.Net.Middlewares/RecordAccessLogsMildd.cs b/CoreCms.Net.Middlewares/RecordAccessLogsMildd.cs index 7dbb1c54..c1afa434 100644 --- a/CoreCms.Net.Middlewares/RecordAccessLogsMildd.cs +++ b/CoreCms.Net.Middlewares/RecordAccessLogsMildd.cs @@ -85,7 +85,7 @@ namespace CoreCms.Net.Middlewares uLog.userId = authenticate.Principal.Identities.First().FindFirst(JwtRegisteredClaimNames.Jti)!.Value.ObjectToInt(0); } - var adminLog = AdminsControllerPermission.GetCacheCoreCmsActionPermission(); + var adminLog = AdminsControllerPermission.GetCacheCoreCmsActionPermission(_dataSources); var curLog = adminLog.FirstOrDefault(p => p.path.ToLower() == _httpContextAccessor.HttpContext.Request.Path.Value.ToLower()); if (curLog != null) diff --git a/CoreCms.Net.Web.Admin/Controllers/Com/ToolsController.cs b/CoreCms.Net.Web.Admin/Controllers/Com/ToolsController.cs index 007437e4..6f590bd1 100644 --- a/CoreCms.Net.Web.Admin/Controllers/Com/ToolsController.cs +++ b/CoreCms.Net.Web.Admin/Controllers/Com/ToolsController.cs @@ -345,7 +345,7 @@ namespace CoreCms.Net.Web.Admin.Controllers public AdminUiCallBack GetAllControllerAndActionByAssembly() { var jm = new AdminUiCallBack(); - var data = AdminsControllerPermission.GetCacheCoreCmsControllerPermission(); + var data = AdminsControllerPermission.GetCacheCoreCmsControllerPermission(GlobalEnumVars.CoreShopSystemCategory.Admin.ToString()); jm.data = data.OrderBy(u => u.name).ToList(); jm.code = 0; jm.msg = "获取成功"; diff --git a/CoreCms.Net.Web.Admin/Doc.xml b/CoreCms.Net.Web.Admin/Doc.xml index d3c747f1..f0b547a4 100644 --- a/CoreCms.Net.Web.Admin/Doc.xml +++ b/CoreCms.Net.Web.Admin/Doc.xml @@ -4803,6 +4803,49 @@ + + + 用户操作日志 + + + + + 构造函数 + + + + + 获取列表 + + + + + + 首页数据 + + + + + + 单选删除 + + + + + + + 批量删除 + + + + + + + 预览数据 + + + + 用户角色关联表 diff --git a/CoreCms.Net.Web.Admin/appsettings.json b/CoreCms.Net.Web.Admin/appsettings.json index 9aae3722..4ea5d0dc 100644 --- a/CoreCms.Net.Web.Admin/appsettings.json +++ b/CoreCms.Net.Web.Admin/appsettings.json @@ -48,7 +48,7 @@ "RecordAccessLogs": { "Enabled": true, //是否开启记录操作日志功能。 "EnabledFileMode": false, //是否开启记录到文件功能。(影响效率,接口不建议开启) - "EnabledDbMode": true, //是否开启记录到数据库模式。(影响效率,接口不建议开启) + "EnabledDbMode": true, //是否开启记录到数据库模式。(影响效率,后台可开启,接口不建议开启,因为数据库会存储大量的用于请求数据和返回数据。) "IgnoreApis": "/api/tools/getuserinfo,/api/tools/getNavs,/api/CodeGenerator/CodeGenDown" //使用小写逗号分隔 }, //记录IP请求数据 diff --git a/CoreCms.Net.Web.WebApi/appsettings.json b/CoreCms.Net.Web.WebApi/appsettings.json index 0a7c0094..0f74175b 100644 --- a/CoreCms.Net.Web.WebApi/appsettings.json +++ b/CoreCms.Net.Web.WebApi/appsettings.json @@ -46,9 +46,9 @@ }, //记录用户方访问数据 "RecordAccessLogs": { - "Enabled": true, //是否开启记录操作日志功能。 + "Enabled": false, //是否开启记录操作日志功能。 "EnabledFileMode": false, //是否开启记录到文件功能。(影响效率,接口不建议开启) - "EnabledDbMode": false, //是否开启记录到数据库模式。(影响效率,接口不建议开启) + "EnabledDbMode": false, //是否开启记录到数据库模式。(影响效率,后台可开启,接口不建议开启,因为数据库会存储大量的用于请求数据和返回数据。) "IgnoreApis": "/api/tools/getuserinfo,/api/tools/getNavs,/api/CodeGenerator/CodeGenDown" //使用小写逗号分隔 }, //记录IP请求数据