【发布时间】:2009-11-22 20:38:26
【问题描述】:
我终于在这个周末尝试了 .NET MVC,但正如预期的那样,遇到了一些障碍。
我正在尝试对正在开发的网站进行密码保护。基本思想非常简单:在我的 BaseController 类(继承自 Controller 并被所有其他控制器类继承)中,我检查是否设置了某个 Session 变量。如果未设置,我需要将它们重定向到特定视图,用户可以在其中输入密码。关键是这个检查应该发生在每个请求上,不管他们访问的是网站的哪个部分。这是我尝试但失败的方法: 覆盖 BaseController 类中的 OnActionExecuting 并检查以下内容:
if ((Session["siteAuth"] == null || (bool)Session["siteAuth"] != true) &&
filterContext.ActionDescriptor.ActionName != "EnterPassword") {
RedirectToAction("EnterPassword");
}
else {
base.OnActionExecuting(filterContext);
}
OnActionExecuting 对每个请求执行,但是,RedirectToAction 不会发生。基本上它只是渲染它本来会渲染的视图。
我找到的最接近的解决方案是here,但我的解决方案需要在每次请求时发生。
关于我做错了什么的任何提示?
【问题讨论】:
标签: asp.net asp.net-mvc redirect view