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

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

    评论

报告相同问题?

悬赏问题

  • ¥188 寻找能做王者评分提取的
  • ¥15 matlab用simulink求解一个二阶微分方程,要求截图
  • ¥30 乘子法解约束最优化问题的matlab代码文件,最好有matlab代码文件
  • ¥15 写论文,需要数据支撑
  • ¥15 identifier of an instance of 类 was altered from xx to xx错误
  • ¥100 反编译微信小游戏求指导
  • ¥15 docker模式webrtc-streamer 无法播放公网rtsp
  • ¥15 学不会递归,理解不了汉诺塔参数变化
  • ¥15 基于图神经网络的COVID-19药物筛选研究
  • ¥30 软件自定义无线电该怎样使用