ActionFilter, IAuthorizationFilter authority to verify redirected to jump to other pages

method one:

public class IsAllowAttribute: ActionFilterAttribute
{
    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        if (!Ctx.User.IsAllow) 
        {
            filterContext.Result = new RedirectToRouteResult(
                new RouteValueDictionary 
                { 
                    { "controller", "Home" }, 
                    { "action", "Index"}          // need to jump to the corresponding controller Action    
                }); 
        } 
    } 
}

Method Two:

public class AuthorizeActionFilterAttribute : ActionFilterAttribute
{
  public override void OnActionExecuting(FilterExecutingContext filterContext)
  {
    HttpSessionStateBase session = filterContext.HttpContext.Session;  //获取当前用户的Session
    Controller controller = filterContext.Controller as Controller;

    if (controller != null)
    {
      if (session["Login"] == null)
      {
        filterContext.Cancel = true;
        controller.HttpContext.Response.Redirect ( " ./Login " );  // redirected to a page to jump 
      } 
    } 

    Base .OnActionExecuting (filterContext); 
  } 
}

 

Guess you like

Origin www.cnblogs.com/leco/p/11119134.html