Аутентификация с помощью ASP.NET Forms без перенаправления - PullRequest
2 голосов
/ 02 февраля 2010

Я использую Аутентификация форм ASP.Net , но не хочу, чтобы по умолчанию выполнялось перенаправление на страницу входа при доступе к закрытой области. Вместо этого я хотел бы вызвать диалоговое окно jQasery Javascript для входа в систему на текущей странице, предотвращая загрузку содержимого позади.

Моя единственная проблема заключается в том, что по умолчанию аутентификация форм хочет перенаправить.

Есть ли обработчик , к которому я могу подключиться, или какой-либо другой параметр для предотвращения перенаправления ?

Ответы [ 3 ]

3 голосов
/ 02 февраля 2010

В дополнение к Dewfy:

Добавьте в свой web.config следующее:

<system.web.extensions>
    <scripting>
      <webServices>
        <authenticationService enabled="true" />    
      </webServices>
    </scripting>
  </system.web.extensions>

Теперь вы можете вызывать службу аутентификации из JavaScript, например:

 Sys.Services.AuthenticationService.login("username",
    "password", false, null, null, loginCompleted, loginFailed, "");

 function loginCompleted()
 {
     var loginSuccessful = Sys.Services.AuthenticationService.get_isLoggedIn();
     if(loginSuccessful) /* do stuff */
 }

 function loginFailed(result, userContext, method)
 {
     alert('Exception ' + result.get_message());
 }
2 голосов
/ 02 февраля 2010

Да, если вы имеете дело с возможностью проверки JQuery, используйте стандарт ASP.Net ajax, ориентированный Sys.Services.AuthenticationService.

0 голосов
/ 02 февраля 2010

Возможно, вы захотите просмотреть элемент управления LoginView. Это позволяет вам устанавливать различные шаблоны для анонимных пользователей и пользователей, которые вошли в систему. Он по-прежнему использует проверку подлинности ASP.NET, поэтому вы можете сохранить текущую проверку подлинности на основе форм.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...