我正在爲我的Web應用程序添加身份驗證。它是一個asp.net mvc單頁面應用程序。目前,Web應用程序僅使用asp.net mvc進行身份驗證。我檢查了AppController中的Request.IsAuthenticated,如果它沒有通過身份驗證,那麼我會提供登錄頁面(否則我會保存app.html頁面)。在我的AccountController,我有以下登錄操作:HTML/Javascript客戶端用戶登錄
[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數據調用瀏覽器客戶端?比能夠在我的客戶端代碼中添加一個檢查來查看用戶是否已通過身份驗證,否則將他們引導至登錄頁面?
任何想法?謝謝。
我想我希望它是獨立的MVC的。只是希望能夠使用登錄詳細信息調用Web服務,並返回true false和其他身份驗證詳細信息。所以如果想要的話,我可以毫無問題地將它從asp.net mvc中解脫出來。 – Matt
你可以完全擺脫MVC--看到我更新的回覆。 – macsux
嗨,Mac,感謝您的回覆。我猜它是客戶端cookie的東西,我更感興趣(即時推拉數據已經)。即在瀏覽器中存儲用戶身份驗證,並能夠在頁面更改時檢查它(也可以在用戶關閉瀏覽器並且能夠檢查記住我的狀態以查看他們是否應該再次登錄或使用舊憑證時) 。 – Matt