【发布时间】:2013-12-20 00:09:17
【问题描述】:
我正在运行一个 DNN7.1 网站。我有一个普通的网站。我添加了一个页面作为移动用户的登录页面。我在包括此移动登录页面在内的移动页面上使用 JQuery Mobile 1.3.2。如果用户导航到该页面并输入用户名和密码,它会正常工作并使用查询字符串将它们重定向到在 url 上发送的正确页面,例如:
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 将始终访问服务器以获取信息。这不是它的工作原理吗?在我的情况下,如何使重定向起作用。非常感谢任何帮助。
【问题讨论】:
-
您有一个未加密连接的登录页面?!这已经够糟糕了,但是您希望人们在 URL 中传递用户名和密码?您不妨将您的网站交给黑客。在继续之前,请查看一些基本的安全信息。
-
虽然这并不能真正解决问题,但 msm8bball 是正确的 - 您根本无法在 URL 中传递用户名和密码,并且您的登录页面应该由 SSL 保护,因为它正在处理安全信息。
-
我知道在 url 中传递用户名和密码并不安全,但我们正在为演示测试一些东西,而测试服务器没有应用 SSL 证书。这不会进入生产。
标签: asp.net jquery-mobile