Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 未经验证/使用mvc注销时获取路线?_Asp.net_Asp.net Mvc - Fatal编程技术网

Asp.net 未经验证/使用mvc注销时获取路线?

Asp.net 未经验证/使用mvc注销时获取路线?,asp.net,asp.net-mvc,Asp.net,Asp.net Mvc,我有一段代码: public class Authenticate : ActionFilterAttribute { public override void OnActionExecuting(ActionExecutingContext filterContext) { if (!filterContext.HttpContext.User.Identity.IsAuthenticated) { filterCont

我有一段代码:

public class Authenticate : ActionFilterAttribute
{

    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        if (!filterContext.HttpContext.User.Identity.IsAuthenticated)
        {
            filterContext.HttpContext.Response.Redirect("/");   
        }
    } 
}
我想知道是否有可能使它重定向到action=“Login”controller=“AdminLogin”的视图?我如何向login视图传递一些消息,告知“您需要登录才能访问它”或类似信息


/M

以下是我解决重定向部分的方法:

public class Authenticate : ActionFilterAttribute
{

    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        if (!filterContext.HttpContext.User.Identity.IsAuthenticated)
        {
            RedirectToRoute(filterContext,
                new
                {
                    controller = "AdminLogin",
                    action = "AdminLogin"
                });
        }
    }



    private void RedirectToRoute(ActionExecutingContext context, object routeValues)
    {
        var rc = new RequestContext(context.HttpContext, context.RouteData);

        string url = RouteTable.Routes.GetVirtualPath(rc,
            new RouteValueDictionary(routeValues)).VirtualPath;

        context.HttpContext.Response.Redirect(url, true);
    }

}
不确定它是否是最佳的,但似乎正确地完成了工作