强迫症患者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
    关注

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

    评论

报告相同问题?

悬赏问题

  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料