强迫症患者m 2016-04-27 07:48 采纳率: 0%
浏览 1565

asp.net MVC 中的过滤器 ,一个路径设置对应一个过滤器类的对象吗

asp.net MVC 中的过滤器 ,一个路径设置对应一个过滤器类的对象吗 。还是多个路由对应一个过滤器对象。有没有大神给讲解下路由和过滤器的对应关系
代码如下:
控制器代码:
[CustAuthorize("list")]
[Route("list")]
public ActionResult List()
{
return View();
}

    [CustAuthorize("admin")]
    [Route("list")]
    public ActionResult Admin()
    {
        return View();
    }

过滤器代码:
public class CustAuthorizeAttribute :AuthorizeAttribute
{
private string[] roles;

    public CustAuthorizeAttribute(params String[] role)
    {
        //roles = new string[] { "admin", "list" };
        roles = role;
    }

    protected override bool AuthorizeCore(HttpContextBase httpContext)
    {
        String role = httpContext.Request.QueryString["role"];
        if (role != null)
        {
            return roles.Contains(role);
        }
        return base.AuthorizeCore(httpContext);
    }

    protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
    {
         UrlHelper url = new UrlHelper(filterContext.RequestContext);
         filterContext.Result = new RedirectResult("/Login");
    }
}
  • 写回答

2条回答

  • threenewbee 2016-04-27 08:42
    关注

    控制器类、单个方法、全局都可以设置过滤器,而且可以设置多个过滤器。

    评论

报告相同问题?

悬赏问题

  • ¥35 平滑拟合曲线该如何生成
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable
  • ¥15 安卓adb backup备份应用数据失败
  • ¥15 eclipse运行项目时遇到的问题
  • ¥15 关于#c##的问题:最近需要用CAT工具Trados进行一些开发
  • ¥15 南大pa1 小游戏没有界面,并且报了如下错误,尝试过换显卡驱动,但是好像不行
  • ¥15 自己瞎改改,结果现在又运行不了了
  • ¥15 链式存储应该如何解决
  • ¥15 没有证书,nginx怎么反向代理到只能接受https的公网网站