我正在向我的 Web 应用程序添加身份验证。它是一个 asp.net mvc 单页应用程序。当前,Web 应用程序仅将 asp.net mvc 用于一件事,即身份验证。我检查 AppController 中的 Request.IsAuthenticated,如果它没有经过身份验证,则我提供登录页面(否则我保存 app.html 页面)。在我的 AccountController 中,我有以下登录操作:
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public ActionResult LogOn(LogOnModel model, string returnUrl)
{
if (ModelState.IsValid)
{
//VALIDATE USER NAME AND PASSWORD
if (Repository_Security.CheckUser(model.UserName, model.Password))
{
FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe);
if (Url.IsLocalUrl(returnUrl) && returnUrl.Length > 1 && returnUrl.StartsWith("/") && !returnUrl.StartsWith("//") && !returnUrl.StartsWith("/\\\\"))
{
return Redirect(returnUrl);
}
else
{
return RedirectToAction("Index", "App");
}
}
else
{
ModelState.AddModelError("", "The user name or password provided is incorrect.");
}
}
// If we got this far, something failed, redisplay form
return View(model);
}
实际上,它只是获取用户名和密码并针对数据库进行验证。如果通过,则设置 AuthCookie。
我的问题是,如果我在浏览器中以 javascript 和 ajax 数据调用完全在客户端执行此操作,这可能吗?比能够在我的客户端代码中添加检查以查看用户是否经过身份验证,否则将它们扔到登录页面?
有任何想法吗?谢谢。