asp.net-mvc – 获取ActionName,ControllerName和AreaName,并将
发布时间:2020-12-15 19:06:08 所属栏目:asp.Net 来源:网络整理
导读:我使用自定义AuthorizationFilter如下: public class ActionAuthorizeAttribute : AuthorizeAttribute {protected override bool AuthorizeCore(System.Web.HttpContextBase httpContext) { if(!httpContext.User.Identity.IsAuthenticated) return false;
我使用自定义AuthorizationFilter如下:
public class ActionAuthorizeAttribute : AuthorizeAttribute { protected override bool AuthorizeCore(System.Web.HttpContextBase httpContext) { if(!httpContext.User.Identity.IsAuthenticated) return false; if(IsUserExcluded()) return false; else return IsRoleAuthorize(httpContext); } } 我使用这个过滤器在我拥有的每个动作的顶部,并为检查是授权,需要动作名称,控制器名称和区域名称。所以有什么办法得到这个名称在AuthorizeCore()方法,如使用System.Web.HttpContextBase?如果回答是否,那么如何获得这个名称并将其传递给属性,显然我不想手动添加每个名称,实际上是在控制器中的likeViewContext.RouteData.Values [“控制器” [ActionAuthorize(actionName=Action,controller=ControllerName,area=AreaName)] public ActionResult Index() { return View(); } 有人有什么想法吗? 解决方法
您可以从RouteData中获取它们:
protected override bool AuthorizeCore(System.Web.HttpContextBase httpContext) { var rd = httpContext.Request.RequestContext.RouteData; string currentAction = rd.GetRequiredString("action"); string currentController = rd.GetRequiredString("controller"); string currentArea = rd.Values["area"] as string; ... } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 使用.NET Core+Docker 开发微服务
- asp.net-mvc – 如何在ASP.NET MVC 2中使用模型绑定器的DI
- asp.net – 可以在Visual Studio 2010中将任务列表项添加到
- 如何在调用WCF服务之前弹出一个确认对话框?
- asp.net – 错误消息401.2:未授权:由于服务器配置,登录失
- asp.net – 当主机名中有下划线时,表单身份验证无法识别为在
- asp.net-mvc-3 – 局部变量在Razor助手中不起作用
- asp.net 使用ObjectDataSource控件在ASP.NET中实现Ajax真分
- IdentityServer4 ASP.NET核心API Angular:登录/身份验证
- asp.net-mvc-4 – 使用MVC 4 SimpleMembership与现有的数据
推荐文章
站长推荐
- asp-classic – 通过object标签和Server.CreateO
- 标签 – 如何使用像asp这样的Razor:Literal?
- asp.net – 删除HTML或ASPX扩展
- asp.net-mvc – Visual Studio 2013无法打开Razo
- 跨域学习笔记1--跨域调用webapi
- asp.net-mvc – 在回发ASP.NET MVC上获取Checkbo
- asp.net – 如何使用Twitter作为网站登录
- .net – 设置runat = server时输入名称和ID更改
- 如何防止ASP.NET MVC将日期从UTC转换为本地?
- ASP.NET MVC 2在部分视图中禁用浏览器后退按钮的
热点阅读