asp.net - 从 AuthorizationHandlerContext 对象获取 Controller 和操作名称

标签 asp.net asp.net-mvc asp.net-core access-control

您好,我有一个自定义需求处理程序,它接受 AuthorizationHandlerContext context 参数

当我调试时,我可以看到上下文对象包含 Context.Resources.ActionDescription.ActionName

但是在编写代码时我无法超越 上下文.资源

似乎较低的级别没有暴露。我想获取调用处理程序的操作名称和 Controller 名称。我该怎么做?

最佳答案

var mvcContext = context.Resource as AuthorizationFilterContext;
var descriptor = mvcContext?.ActionDescriptor as ControllerActionDescriptor;
if (descriptor != null)
{
    var actionName = descriptor.ActionName;
    var ctrlName = descriptor.ControllerName;      
}

关于asp.net - 从 AuthorizationHandlerContext 对象获取 Controller 和操作名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41103694/

相关文章:

asp.net - 使用 WebForms 和 .NET 4.5 等待/异步的异步 GUI

javascript - 使用 C# 在 GridView 中显示前一天的日期与系统日期相比?

c# - 如何将查询字符串映射到列表字典

c# - 基于 ASP.NET Core 中的现有数据库创建 Entity Framework 模型

android - 通过 android 模拟器连接到本地运行的 SignalR .netcore 服务器

c# - ASP.NET vnext 和 ServiceStack.redis

c# - 在 .NET 3.5 上实现 Pub/Sub 或 SignalR 功能?

c# - 从函数返回 2 个项目

c# - ASP.NET MVC5 删除 API 错误的 html 响应

c# - 在 ASP.NET MVC 操作中隐式声明参数