c# - 在特定控制器 asp.net 核心中调用操作时运行代码
问题描述
例如,我有一个管理控制器,我想在用户调用管理控制器的任何操作时执行额外的自定义检查。
当仅对控制器调用任何操作时,如何在控制器类中执行一些代码?
解决方案
由于您不要求提供特定的编程示例,因此我只会向您推荐Service Filters的 .net 核心文档。
我之前使用这些为登录用户创建了一个活动跟踪器之类的东西,所以说它是一个管理员,我想看看用户多久前执行了一个操作,这个过滤器将检查用户在会话中的最后一个活动在允许访问该方法之前。
这是一个通用示例:
public class MyFilter : ActionFilterAttribute
{
public MyFilter()
{
}
//After Method execution
public override void OnActionExecuted(ActionExecutedContext context)
{
//Do stuff
}
//Before Method execution
public override void OnActionExecuting(ActionExecutingContext context)
{
//Do stuff
}
}
在启动中:services.AddScoped<MyFilter>();
及以上控制器/动作:[ServiceFilter(typeof(MyFilter))]
推荐阅读
- javascript - 我可以在 Blazor 中使用像 Gridstack 这样的 JS Grid 布局库吗?如果是怎么办?
- texture-mapping - 用改变纹理而不是颜色的情节表达条
- localization - IoU - 对象定位的度量评估
- python - 如何将我的 odoo 应用商店设置为调试模式?
- flutter - Flutter 2:带有图标和文本的按钮
- javascript - 用于循环和拼接功能的 Javascript
- php - 提高字段验证的代码易读性
- jquery-ui - Blazor 可拖动/可调整大小的模式引导对话框
- azure - 如何使用经理详细信息从 Azure AD 导出员工 ID
- d3.js - d3js图形可视化中的空节点