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

前端之家收集整理的这篇文章主要介绍了在不是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.f2er.com/ajax/160015.html

猜你在找的Ajax相关文章