mirror of
http://git.coreshop.cn/jianweie/coreshoppro.git
synced 2025-12-06 15:43:27 +08:00
【修复】修复增加数据库操作日志后,Api接口端开启适配报错的问题。
This commit is contained in:
@@ -38,11 +38,14 @@ namespace CoreCms.Net.Filter
|
|||||||
/// 反射获取所有controller 和action
|
/// 反射获取所有controller 和action
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
private static ControllerPermissionResult GetAllControllerAndActionByAssembly()
|
private static ControllerPermissionResult GetAllControllerAndActionByAssembly(string dataSources)
|
||||||
{
|
{
|
||||||
var result = new List<ControllerPermission>();
|
var result = new List<ControllerPermission>();
|
||||||
|
|
||||||
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" };
|
var noController = new[] { "ToolsController", "LoginController", "DemoController" };
|
||||||
|
|
||||||
@@ -136,30 +139,30 @@ namespace CoreCms.Net.Filter
|
|||||||
/// 获取缓存ActionPermission
|
/// 获取缓存ActionPermission
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public static List<ActionPermission> GetCacheCoreCmsActionPermission()
|
public static List<ActionPermission> GetCacheCoreCmsActionPermission(string dataSources)
|
||||||
{
|
{
|
||||||
var memoryCacheManager = new MemoryCacheManager();
|
var memoryCacheManager = new MemoryCacheManager();
|
||||||
var cache = memoryCacheManager.Get<List<ActionPermission>>(CacheCoreCmsActionPermission);
|
var cache = memoryCacheManager.Get<List<ActionPermission>>(CacheCoreCmsActionPermission);
|
||||||
return cache ?? UpdateCacheCoreCmsActionPermission().Actions;
|
return cache ?? UpdateCacheCoreCmsActionPermission(dataSources).Actions;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 获取缓存ControllerPermission名称
|
/// 获取缓存ControllerPermission名称
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public static List<ControllerPermission> GetCacheCoreCmsControllerPermission()
|
public static List<ControllerPermission> GetCacheCoreCmsControllerPermission(string dataSources)
|
||||||
{
|
{
|
||||||
var memoryCacheManager = new MemoryCacheManager();
|
var memoryCacheManager = new MemoryCacheManager();
|
||||||
var cache = memoryCacheManager.Get<List<ControllerPermission>>(CacheCoreCmsControllerPermission);
|
var cache = memoryCacheManager.Get<List<ControllerPermission>>(CacheCoreCmsControllerPermission);
|
||||||
return cache ?? UpdateCacheCoreCmsActionPermission().ControllersAndActions;
|
return cache ?? UpdateCacheCoreCmsActionPermission(dataSources).ControllersAndActions;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 更新cache
|
/// 更新cache
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private static ControllerPermissionResult UpdateCacheCoreCmsActionPermission()
|
private static ControllerPermissionResult UpdateCacheCoreCmsActionPermission(string dataSources)
|
||||||
{
|
{
|
||||||
var list = GetAllControllerAndActionByAssembly();
|
var list = GetAllControllerAndActionByAssembly(dataSources);
|
||||||
var memoryCacheManager = new MemoryCacheManager();
|
var memoryCacheManager = new MemoryCacheManager();
|
||||||
//缓存24小时
|
//缓存24小时
|
||||||
memoryCacheManager.Set(CacheCoreCmsControllerPermission, list.ControllersAndActions, 1440);
|
memoryCacheManager.Set(CacheCoreCmsControllerPermission, list.ControllersAndActions, 1440);
|
||||||
|
|||||||
@@ -85,7 +85,7 @@ namespace CoreCms.Net.Middlewares
|
|||||||
uLog.userId = authenticate.Principal.Identities.First().FindFirst(JwtRegisteredClaimNames.Jti)!.Value.ObjectToInt(0);
|
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());
|
var curLog = adminLog.FirstOrDefault(p => p.path.ToLower() == _httpContextAccessor.HttpContext.Request.Path.Value.ToLower());
|
||||||
if (curLog != null)
|
if (curLog != null)
|
||||||
|
|||||||
@@ -345,7 +345,7 @@ namespace CoreCms.Net.Web.Admin.Controllers
|
|||||||
public AdminUiCallBack GetAllControllerAndActionByAssembly()
|
public AdminUiCallBack GetAllControllerAndActionByAssembly()
|
||||||
{
|
{
|
||||||
var jm = new AdminUiCallBack();
|
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.data = data.OrderBy(u => u.name).ToList();
|
||||||
jm.code = 0;
|
jm.code = 0;
|
||||||
jm.msg = "获取成功";
|
jm.msg = "获取成功";
|
||||||
|
|||||||
@@ -4803,6 +4803,49 @@
|
|||||||
<param name="entity"></param>
|
<param name="entity"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="T:CoreCms.Net.Web.Admin.Controllers.SysUserOperationLogController">
|
||||||
|
<summary>
|
||||||
|
用户操作日志
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:CoreCms.Net.Web.Admin.Controllers.SysUserOperationLogController.#ctor(Microsoft.AspNetCore.Hosting.IWebHostEnvironment,CoreCms.Net.IServices.ISysUserOperationLogServices)">
|
||||||
|
<summary>
|
||||||
|
构造函数
|
||||||
|
</summary>
|
||||||
|
</member>
|
||||||
|
<member name="M:CoreCms.Net.Web.Admin.Controllers.SysUserOperationLogController.GetPageList">
|
||||||
|
<summary>
|
||||||
|
获取列表
|
||||||
|
</summary>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:CoreCms.Net.Web.Admin.Controllers.SysUserOperationLogController.GetIndex">
|
||||||
|
<summary>
|
||||||
|
首页数据
|
||||||
|
</summary>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:CoreCms.Net.Web.Admin.Controllers.SysUserOperationLogController.DoDelete(CoreCms.Net.Model.FromBody.FMIntId)">
|
||||||
|
<summary>
|
||||||
|
单选删除
|
||||||
|
</summary>
|
||||||
|
<param name="entity"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:CoreCms.Net.Web.Admin.Controllers.SysUserOperationLogController.DoBatchDelete(CoreCms.Net.Model.FromBody.FMArrayIntIds)">
|
||||||
|
<summary>
|
||||||
|
批量删除
|
||||||
|
</summary>
|
||||||
|
<param name="entity"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
|
<member name="M:CoreCms.Net.Web.Admin.Controllers.SysUserOperationLogController.GetDetails(CoreCms.Net.Model.FromBody.FMIntId)">
|
||||||
|
<summary>
|
||||||
|
预览数据
|
||||||
|
</summary>
|
||||||
|
<param name="entity"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
<member name="T:CoreCms.Net.Web.Admin.Controllers.SysUserRoleController">
|
<member name="T:CoreCms.Net.Web.Admin.Controllers.SysUserRoleController">
|
||||||
<summary>
|
<summary>
|
||||||
用户角色关联表
|
用户角色关联表
|
||||||
|
|||||||
@@ -48,7 +48,7 @@
|
|||||||
"RecordAccessLogs": {
|
"RecordAccessLogs": {
|
||||||
"Enabled": true, //是否开启记录操作日志功能。
|
"Enabled": true, //是否开启记录操作日志功能。
|
||||||
"EnabledFileMode": false, //是否开启记录到文件功能。(影响效率,接口不建议开启)
|
"EnabledFileMode": false, //是否开启记录到文件功能。(影响效率,接口不建议开启)
|
||||||
"EnabledDbMode": true, //是否开启记录到数据库模式。(影响效率,接口不建议开启)
|
"EnabledDbMode": true, //是否开启记录到数据库模式。(影响效率,后台可开启,接口不建议开启,因为数据库会存储大量的用于请求数据和返回数据。)
|
||||||
"IgnoreApis": "/api/tools/getuserinfo,/api/tools/getNavs,/api/CodeGenerator/CodeGenDown" //使用小写逗号分隔
|
"IgnoreApis": "/api/tools/getuserinfo,/api/tools/getNavs,/api/CodeGenerator/CodeGenDown" //使用小写逗号分隔
|
||||||
},
|
},
|
||||||
//记录IP请求数据
|
//记录IP请求数据
|
||||||
|
|||||||
@@ -46,9 +46,9 @@
|
|||||||
},
|
},
|
||||||
//记录用户方访问数据
|
//记录用户方访问数据
|
||||||
"RecordAccessLogs": {
|
"RecordAccessLogs": {
|
||||||
"Enabled": true, //是否开启记录操作日志功能。
|
"Enabled": false, //是否开启记录操作日志功能。
|
||||||
"EnabledFileMode": false, //是否开启记录到文件功能。(影响效率,接口不建议开启)
|
"EnabledFileMode": false, //是否开启记录到文件功能。(影响效率,接口不建议开启)
|
||||||
"EnabledDbMode": false, //是否开启记录到数据库模式。(影响效率,接口不建议开启)
|
"EnabledDbMode": false, //是否开启记录到数据库模式。(影响效率,后台可开启,接口不建议开启,因为数据库会存储大量的用于请求数据和返回数据。)
|
||||||
"IgnoreApis": "/api/tools/getuserinfo,/api/tools/getNavs,/api/CodeGenerator/CodeGenDown" //使用小写逗号分隔
|
"IgnoreApis": "/api/tools/getuserinfo,/api/tools/getNavs,/api/CodeGenerator/CodeGenDown" //使用小写逗号分隔
|
||||||
},
|
},
|
||||||
//记录IP请求数据
|
//记录IP请求数据
|
||||||
|
|||||||
Reference in New Issue
Block a user