【发布时间】:2010-03-19 06:13:35
【问题描述】:
我正在构建一个 ASP.NET MVC2 Web 应用程序,它需要一些复杂的身份验证和业务逻辑,而使用开箱即用的表单身份验证无法实现。
我是 MVC 的新手,所以请耐心等待......
我的计划是用一个或多个自定义属性(包含附加数据)标记所有受限的 View 方法。
然后控制器将重写 OnActionExecuting 方法来拦截请求、分析目标视图的属性并执行各种不同的操作,包括将用户重新路由到不同的位置。
我有拦截和属性分析工作,但重定向没有按预期工作。
我尝试将 ActionExecutingContext.Result 设置为 null,甚至尝试通过反射来后台处理控制器并调用它们的操作方法。没有骰子。
我能够以这种方式实现它......
protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
filterContext.HttpContext.Response.Redirect("/MyView", false);
base.OnActionExecuting(filterContext);
}
这似乎是一个 hack,必须有更好的方法......
【问题讨论】:
标签: c# asp.net asp.net-mvc-2