2013-12-20 3 views
0

Я запускаю сайт DNN7.1. У меня есть регулярный веб-сайт. Я добавил страницу, которая выступает в качестве страницы входа для мобильных пользователей. Я использую JQuery Mobile 1.3.2 на мобильных страницах, включая эту страницу входа в систему для мобильных устройств. Если пользователь переходит на эту страницу и вводит имя пользователя и пароль, он работает правильно и перенаправляет их на нужную страницу, отправленного по URL с помощью строки запроса, например:Перенаправление не работает с JQuery Mobile

http://localhost/Mobilelogin?url=http://localhost/somePage 

это правильно перенаправляет

http://localhost/somePage 

Теперь я хочу добавить возможность, когда пользователь может напрямую отправлять свое имя пользователя и пароль вместе с URL-адресом, который он хочет перемещать, страница входа должна проходить аутентификацию с использованием имени пользователя и пароля и после успешного перенаправления его на URL-адрес (используя asp.net Response.Redirect), в формате

http://localhost/Mobilelogin?u=username&p=password&url=http://localhost/somePage 

Проблема заключается в том, что она работает нормально, если пользователь не вошел в систему, но если он уже вошел в систему, а затем использует тот же URL-адрес (который имеет имя пользователя и пароль), перенаправление не работает. Я попытался отключить ajax, используя следующий код, поскольку я прочитал перенаправление, и JQM не работает.

$(document).on("mobileinit", function() { 
$.extend($.mobile, { 
linkBindingEnabled: false, 
ajaxEnabled: false 
}); 
}); 

Но он все еще не работает. Может кто-нибудь, пожалуйста, дайте мне знать, что мне нужно сделать, чтобы сделать эту работу.

Я пробовал отлаживать модуль входа в систему, который написан на C#, когда пользователь вводит URL-адрес, когда он не вошел в систему, он вызывает загрузку страницы и попадает в точку останова, но при входе в систему и ввода URL-адреса точка останова никогда не ударил. Похоже, что браузер даже не связывается с сервером. Я новичок в JQM, я думал, что отключить ajax глобально будет всегда поражать сервер, чтобы получить информацию. Разве это не так, как это работает? Как я могу сделать перенаправление в моем случае. Любая помощь приветствуется.

+0

У вас есть страница входа в ** незашифрованное ** соединение ?! Это достаточно плохо, но тогда вы хотите, чтобы люди передавали имена пользователей и пароли в URL-адресе? Вы могли бы просто передать свой сайт хакерам. Прежде чем приступить к дальнейшему рассмотрению, найдите основные элементы безопасности. – mason

+0

Хотя это действительно не решает проблему, msm8bball прав - вы просто не можете передавать имена пользователей и пароли в URL-адресе, а ваша страница входа в систему должна быть защищена SSL, поскольку она обрабатывает информацию о безопасности. – sh1rts

+0

Я знаю, что прохождение имен пользователей и паролей в URL-адресе не является безопасным, но мы тестируем что-то для демонстрационного и тестового серверов, не имеющих сертификата SSL. Это не пойдет на производство. –

ответ

1

Вы должны знать, что по умолчанию jQuery Mobile использует AJAX для загрузки содержимого страницы и не перенаправляет его в соответствии с нормальным.

Вы должны прочитать часто задаваемые вопросы, поскольку они предоставляют полезную информацию: -

http://view.jquerymobile.com/1.3.2/dist/demos/faq/

В частности: -

.. это только впрыснуть содержимое элемента тела, формирующего ответ (или более конкретно элемент data-role = "page", если он предоставлен), Значение ничего в заголовке страницы не будет использовано

http://view.jquerymobile.com/1.3.2/dist/demos/faq/scripts-and-styles-not-loading.html

Это может объяснить, почему ваш сценарий не выполняет, как будто это в <head> он не загружен.

+0

Спасибо за ссылку faq, это помогло мне разобраться с другой проблемой. Проблема с перенаправлением была вызвана ошибкой в ​​моем коде, который выполнял перенаправление, прежде чем перейти на страницу MobileLogin, когда пользователь уже авторизовался. –

+0

Добро пожаловать. На сайте jQuery Mobile есть много хороших сторонних ресурсов, на которые стоит обратить внимание. – sh1rts

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