Сделать ajax get redirect главной страницей для входа в систему по истечении времени аутентификации - PullRequest
3 голосов
/ 18 ноября 2008

Я использую ASP.Net MVC beta 1, и я использую поставщика членства asp.net со стандартным контроллером аутентификации для ограничения доступа к моему сайту.

Я использую функциональность ajax для предоставления, например, редактирование значений путем загрузки частичных представлений в div с помощью jQuery $ .get / $. ajax или с помощью помощника Ajax.Actionlink MVC. В большинстве случаев все работает нормально.

Моя проблема возникает, когда время входа в систему истекает, и вы нажимаете одну из ссылок редактирования ajax - вызов ajax возвращает страницу входа в систему, которая помещается в div, обычно используемый для формы редактирования.

Я хочу найти способ перенаправить всю страницу в форму входа в систему, когда время аутентификации истекло и нажата ссылка ajax.

Один из способов, который я могу придумать, - это просмотреть html, возвращенный из вызова ajax в ответном обратном вызове, найти текстовое поле или поле формы 'login' и выполнить оттуда перенаправление - но это не кажется очень чистым есть ли лучший способ?

1 Ответ

2 голосов
/ 18 ноября 2008

Это может помочь некоторым:

Bypass Forms Authentication, автоматическая переадресация для входа в систему, как?

Из приведенного выше ответа видно, что http 403 не перехватывается при проверке подлинности с помощью форм, поэтому вы можете свернуть собственный ActionFilter, который возвращает ответ http 403, если его запрос и авторизация Ajax не пройдены.

На стороне клиента вы можете проверить код ответа для 403 и перенаправить на соответствующий URL для входа в систему.

Возможно, есть и другие способы сделать это!

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