【发布时间】:2011-03-02 11:42:49
【问题描述】:
我需要创建一个具有以下验证 http://domain.com/accounta/controller/view/id 的 aspnet mvc 应用程序,必须在数据库中验证此帐户后检查它是否应该在 url 中继续,否则客户将被重定向到不存在帐户的页面,我发现的问题是在每个控制器方法中我都必须经过验证?有更平安的吗?
例如:
public ActionResult Index()
{
if ((host != null) && (host.IndexOf(".") < 0))
{
sessao = SessionController.GetInstance();
if (sessao.Conta.dsHost != null)
{
return View(sessao.Conta);
}
else
{
using (var contexto = new ThalentoEntities())
{
sessao.Conta = contexto.TH_Conta.Single(q => q.dsHost == host && q.flAtivo == true);
if (sessao.Conta.dsHost != null)
return View(sessao.Conta);
else
return Redirect("/erro/no_account");
}
}
}
else
{
return Redirect("/erro/no_account");
}
return View();
}
以上是控制器中各个方法的代码..
以及下面global.asax的代码
routes.MapRoute(
"Default",
"{controller}/{action}/{id}",
new { host= UrlParameter.Optional, controller = "principal", action = "index", id = UrlParameter.Optional }
);
【问题讨论】:
标签: asp.net-mvc model-view-controller asp.net-mvc-3