大佬教程收集整理的这篇文章主要介绍了asp.net-mvc – 获取ActionName,ControllerName和AreaName,并将其传递给ActionFilter属性,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
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(); }
有人有什么想法吗?
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; ... }
以上是大佬教程为你收集整理的asp.net-mvc – 获取ActionName,ControllerName和AreaName,并将其传递给ActionFilter属性全部内容,希望文章能够帮你解决asp.net-mvc – 获取ActionName,ControllerName和AreaName,并将其传递给ActionFilter属性所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。