我只需要在 MVC3 上进行手动验证,问题是,当用户从项目访问 url 时,我在基类上有以下代码:
public class BaseController : Controller
{
private Usuario loggedUser;
protected override void Initialize(System.Web.Routing.RequestContext requestContext)
{
if (requestContext.HttpContext.Request.RawUrl != "/Home/Login")
{
if (requestContext.HttpContext.Session["usuario"] != null)
{
loggedUser = (Usuario)requestContext.HttpContext.Session["usuario"];
ViewBag.nomeUsuario = loggedUser.Nome;
ViewBag.idUsuario = loggedUser.Id;
}
else
{
requestContext.HttpContext.Response.RedirectPermanent("~/Home/Login");
}
}
base.Initialize(requestContext);
}
问题是,当他们未经授权时,我发送重定向但初始化继续处理请求操作。我认为验证不是一个好地方,因为我可以删除 inicalize 方法。