微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在不是100%AJAX的Ajax应用程序中使用HTTP身份验证的最佳方法是什么

我有一个标准的 HTML登录页面,我宁愿使用它而不是浏览器提供的标准HTTP身份验证弹出窗口.今天,我在登录后使用会话cookie来跟踪会话,但我希望无状态并且每次都通过HTTP身份验证.我打的网络服务已经支持这个,所以这是一个仅限浏览器的问题.

在jQuery中添加身份验证凭据是微不足道的,但我不知道如何保留它们.如果您从登录页面(jsp)转到主页(另一个jsp),您显然不会保留登录页面中的用户名和密码字段.我知道如果您从弹出窗口输入它们,某些浏览器将存储您的HTTP身份验证凭据,但我不知道它们是否在使用XHRRequest时被存储.如果他们这样做,浏览器之间是否有很多一致性?

此外,用户也需要能够“退出”应用程序.如果浏览器存储身份验证凭据,是否有办法使用JavaScript清除它们.

我觉得我不能成为第一个试图解决这个问题的人.是否有一些jQuery插件或已经处理过的东西?或者根本不可能做我想做的事情?

你有2个选择:

1)客户端存储凭证 – 不是一个好主意.出于显而易见的原因,您不希望在客户端上存储用户名/密码.如果你有一个哈希版本的密码,它可能不是那么糟糕,但仍然不推荐.在任何情况下,如果您要在客户端存储,您必须使用cookie或HTML5 local storage(尚未得到广泛支持)

2)凭证的服务器端存储 – 通常使用会话完成.然后,生成的会话ID可以传递回客户端并保存在cookie或每个后续AJAX调用的URL中(例如,?SESSID = xyz)

服务器端方法将是最安全,最可靠,最容易实现的方法

原文地址:https://www.jb51.cc/ajax/160015.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐