想做一内部系统,限制所有未登录用户访问,看了半天,知道要用全局筛选器,就是不知道怎么用?那位能给个例子,谢谢先

解决方案 »

  1.   

        <authorization>
          <deny users="?" />
        </authorization>
    放在web.config里的<system.web>下
      

  2.   

    在global里面的
           public static void RegisterGlobalFilters(GlobalFilterCollection filters)
            {
                filters.Add(new 自定义过滤器());
            }
      

  3.   

    楼上的,能把new 自定义过滤器()的样例代码给一份吗?谢谢先
      

  4.   


    public class AuthorizeLogin : AuthorizeAttribute
        {
            protected override bool AuthorizeCore(HttpContextBase httpContext)
            {
                string url = httpContext.Request.RawUrl;
                if (url.Equals("/") || url.Contains("/Home/LoginOn/") || url.Contains("/Home/CheckCode"))
                {
                    return true;
                }
                if (Admin.Commom.AdminInfo.Session == null)
                {
                    httpContext.Response.StatusCode = 404;
                    return false;
                }
                else
                {
                    return true;
                }
            }        public override void OnAuthorization(AuthorizationContext filterContext)
            {
                base.OnAuthorization(filterContext);
                if (filterContext.HttpContext.Response.StatusCode == 404)
                {
                    filterContext.Result = new RedirectResult("/");
                }
            }
      

  5.   

    继承ActionFilterAttribute 重写OnActionExecuting方法,判断权限,重写OnResultExecuting方法 跳转