Как вызвать модальное диалоговое окно входа в Forms Auth вместо перенаправления на страницу входа loginUrl? - PullRequest
2 голосов
/ 21 декабря 2010

Я только что закончил реализацию модального диалогового окна входа в систему для моего сайта ASP.NET.Опыт похож на то, что вы получаете с DIGG.com.Когда вы входите в систему, вы получаете модное всплывающее модальное диалоговое окно (предоставляется элементом управления JQuery Tools Overlay ).Диалог представляет собой файл ASCX на главной странице, поэтому он доступен по всему миру.Он использует PageMethod для проверки текущего пользователя.Если проверка прошла успешно, я вызываю window.location.reload (); в обратном вызове успеха PageMethod.

Это прекрасно работает при входе на страницу, которая не требует аутентификации, ноЧто делать, когда пользователи без аутентификации пытаются перейти на страницу, требующую авторизации?

Можно ли изменить мой файл web.config , чтобы вместо перенаправления на SignIn.aspxстраница для неаутентифицированных пользователей. Я просто вместо этого вызываю модальное диалоговое окно?

Допустим, неаутентифицированный пользователь находится на Default.aspx, который не требует аутентификации.Он хочет перейти к «Add.aspx», который требует , требующий авторизации.Каков наилучший способ справиться с этим с помощью модального диалогового окна?

Если мне нужно использовать выделенную страницу, я думаю, у меня просто будет страница SignIn.aspx, которая вызывает диалог при загрузке и при аутентификацииуспешно, он будет использовать JavaScript для перенаправления на целевую страницу.

Но в идеале я хотел бы выполнить вход с Default.page, а затем перенаправить на «Add.aspx» с помощью скрипта.

1 Ответ

2 голосов
/ 22 декабря 2010

Так как я не получил никакой обратной связи и пошел дальше и "решил" эту проблему условно.У меня все еще есть выделенная страница Login.aspx, но она используется только в тех случаях, когда пользователи переходят непосредственно на страницу, требующую аутентификации.

В этом случае я позволяю ASP.NET перенаправить на Login.aspx, а затем с помощьюклиентский скрипт Я вызываю всплывающее диалоговое окно.Я делаю обычную аутентификацию с использованием WebMethod, а затем перенаправляю по мере необходимости.Если пользователь отменяет диалоговое окно, я просто перенаправляю обратно к Default.aspx.

Похоже, что нет необходимости обходиться без необходимости выделенной страницы входа в систему.

...