2012-07-02 6 views
1

Я пытаюсь реализовать аутентификацию с использованием проверки подлинности jQuery и форм на веб-службе ASP.NET MVC 3. Идея состоит в том, что я сделаю сообщение jQuery AJAX для веб-службы, которая будет выполнять проверку подлинности с помощью форм и вернуть куки-файл или токен, и с каждым вызовом доступа к данным мое веб-приложение (jQuery) будет использовать этот файл cookie или токен.Использование файлов cookie или токенов с проверкой подлинности перекрестных доменов

То, что я -

У меня есть вызов AJAX для веб-службы ASP.NET настроить, и у меня есть веб-сервис создан следующим образом:

public ActionResult Login(string userName, string password, bool rememberMe, string returnUrl) 
{ 

    if (ModelState.IsValid) 
    { 
     if (Membership.ValidateUser(userName, password)) 
     { 
      return Json(FormsAuthentication.GetAuthCookie(userName, rememberMe), JsonRequestBehavior.AllowGet); 

     } 
     else 
     { 
      return Json("Authentication Failed", JsonRequestBehavior.AllowGet); 
     } 
    } 
} 

Это работает так что, если я делаю вызов AJAX с правильными учетными данными, я возвращаю куки в JSON, а если нет, я возвращаю строку с ошибкой auth.

Что я не знаю - Что делать с печеньем JSON, когда я его получу. Я могу хранить это в локальном хранилище HTML5, но я не знаю, какую часть его (или все это) отправить обратно с помощью вызовов доступа к данным, а также как интерпретировать его и проверить cookie на стороне веб-службы. Если я не должен использовать файлы cookie, есть ли способ генерировать и использовать какой-либо токен?

ответ

1

Для кого-то, кто, случается встретить, вот как я ее решил:

я понял, что отправка куки обратно через JSON не было необходимости. Используя FormsAuthentication.SetAuthCookie, установлен только cookie HTTP Only, который автоматически отправляется с помощью вызовов AJAX. Таким образом, сервер является единственным ответственным за файл cookie Auth и может проверить подлинность с помощью Request.IsValidated.

Смежные вопросы