Asp.net mvc 路由约束重定向
如果路由约束失败,我希望能够重定向,而不仅仅是返回404。以下是场景:Asp.net mvc 路由约束重定向,asp.net-mvc,asp.net-mvc-3,asp.net-mvc-routing,Asp.net Mvc,Asp.net Mvc 3,Asp.net Mvc Routing,如果路由约束失败,我希望能够重定向,而不仅仅是返回404。以下是场景: 用户点击网页www.test.com/preview/home/ 路由约束检查是否可以预览页面 如果没有,请重定向到www.foo.com/home/ 这是可能的吗?这是可能的,但不受路线限制。管线约束不打算以这种方式使用。如果不满足管线约束,则管线不匹配。如果您想执行一些授权,并在该授权失败时重定向,最好编写一个自定义授权属性,并用它装饰控制器操作 有两种可能性: 您希望向现有属性添加自定义授权逻辑。在这种情况下,您从
- 用户点击网页www.test.com/preview/home/
- 路由约束检查是否可以预览页面
- 如果没有,请重定向到www.foo.com/home/
这是可能的吗?这是可能的,但不受路线限制。管线约束不打算以这种方式使用。如果不满足管线约束,则管线不匹配。如果您想执行一些授权,并在该授权失败时重定向,最好编写一个自定义授权属性,并用它装饰控制器操作 有两种可能性:
AuthorizeCore
和HandleUnauthorizedRequest
方法,以在该逻辑失败时执行自定义授权和重定向(而不是导航到登录页)IAuthorizationFilter
接口,并将您的auhorization和重定向逻辑放入OnAuthorization
方法中var values = new RouteValueDictionary(new
{
controller = "home",
action = "index"
});
filterContext.Result = new RedirectToRouteResult(values);