Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript、jquery或django中的HTTP基本身份验证?_Javascript_Jquery_Django_Http Authentication - Fatal编程技术网

javascript、jquery或django中的HTTP基本身份验证?

javascript、jquery或django中的HTTP基本身份验证?,javascript,jquery,django,http-authentication,Javascript,Jquery,Django,Http Authentication,我正在开发一个web应用程序(a),作为另一个网站(B)的“前端”,它需要基本的HTTP身份验证(即弹出并要求输入用户名和密码的那种) 在我的web应用程序中,每个用户都已经将其B的用户名和密码存储为其A帐户的一部分。但是,当用户第一次尝试从A访问B中的资源时,它会提示输入用户名和密码(但在会话的其余部分不再需要)。我希望这样,用户永远不必显式地输入他的凭据(因为它们已经存储在他的帐户中) 使用javascript/jquery或某些Django代码,是否可以在后台对该用户进行先发制人的身份验证

我正在开发一个web应用程序(a),作为另一个网站(B)的“前端”,它需要基本的HTTP身份验证(即弹出并要求输入用户名和密码的那种)

在我的web应用程序中,每个用户都已经将其B的用户名和密码存储为其A帐户的一部分。但是,当用户第一次尝试从A访问B中的资源时,它会提示输入用户名和密码(但在会话的其余部分不再需要)。我希望这样,用户永远不必显式地输入他的凭据(因为它们已经存储在他的帐户中)

使用javascript/jquery或某些Django代码,是否可以在后台对该用户进行先发制人的身份验证,例如当他们登录到一个数据库时?因此,只需使用用户名和密码向B中的某个资源发送请求即可


谢谢,我希望这个问题很清楚。

简短的回答是,如果不引入涉及B后端的通用身份验证/安全令牌共享等机制,您可能无法做到这一点

由于B可能是不同的来源,因此将阻止您从a提供的页面向B发出请求

如果您能够更改B后端,那么当用户登录到a时,您可以从a上的页面向B发出JSONP请求(即不是通过HTTP头进行基本身份验证)


另请参阅不同解决方案的灵感。

简短的回答是,如果不引入涉及B后端的通用身份验证/安全令牌共享等机制,您可能无法做到这一点

由于B可能是不同的来源,因此将阻止您从a提供的页面向B发出请求

如果您能够更改B后端,那么当用户登录到a时,您可以从a上的页面向B发出JSONP请求(即不是通过HTTP头进行基本身份验证)


另请参阅不同解决方案的灵感。

我相信您可以将其直接粘贴在URL中


我相信你可以在URL中直接看到这一点

jQuery ajax()方法支持带有选项“username”和“password”的HTTP身份验证

:

如果服务器在提供响应之前执行HTTP身份验证,则可以通过用户名和密码选项发送用户名和密码对

B.VB.:

只需向B中的某个资源发送一个带有用户名和密码的请求即可

我没有测试,但绝对值得一试。可能只要服务器授权了客户端,它就不应该再次提示客户端输入凭据,因此值得一试。

jQuery ajax()方法支持带有选项“username”和“password”的HTTP身份验证

:

如果服务器在提供响应之前执行HTTP身份验证,则可以通过用户名和密码选项发送用户名和密码对

B.VB.:

只需向B中的某个资源发送一个带有用户名和密码的请求即可


我没有测试,但绝对值得一试。可能只要服务器授权客户端,它就不应该再次提示客户端输入凭据,这样就值得一试。

这样任何人都可以看到您的密码?@Secator。。。这是基本的HTTP身份验证。任何人都可以看到您的密码,因为HTTP是纯文本协议。事实上,你的浏览器就是这样做的,只是没有告诉你。最理想的情况是,这应该通过SSL实现,但这不是当前的问题。问题是如何进行身份验证,这是最快的方法。这样任何人都能看到你的密码?@Secator。。。这是基本的HTTP身份验证。任何人都可以看到您的密码,因为HTTP是纯文本协议。事实上,你的浏览器就是这样做的,只是没有告诉你。最理想的情况是,这应该通过SSL实现,但这不是当前的问题。问题是如何进行身份验证,这是最快的方法。好的,但是您将如何向可能位于另一个来源上的其他网站发出XHR请求?好的,但是您将如何向另一个可能位于其他来源的网站发出XHR请求?A和B在完全不同的域上吗?A和B在完全不同的域上吗?