跨多个目录的基本身份验证
Basic auth across multiple directories
我有一个网站,我正在使用 Apache 进行身份验证(使用基本身份验证进行测试)。它适用于所有浏览器。现在,我尝试将网站使用的 API 添加到身份验证领域(使用相同的 AuthName),并注意到以下行为:
在 Safari 上,它会进行两次身份验证,一次是在访问网站时,另一次是在进行 API 调用时。 (我宁愿只需要在第一次进行身份验证。)
在 Chrome 和 Firefox 上,当我第一次访问该网站时,它会进行身份验证,但是当该网站进行 API 调用时,它会 returns 出现 401 错误。
这些都在同一个 domain/port 上,所以我不认为这是一个 CORS 问题(特别是因为当我删除 API 的身份验证要求时这有效锁定,因此不可取)。我确实有相同的 AuthName,FWIW,但这似乎没有效果。
我在 httpd.conf 中的 API 配置是:
WSGIDaemonProcess rest_api user=gms threads=5
WSGIScriptAlias /api /var/www/extjs/rest_api/rest_api.wsgi
<Location /api>
Options +FollowSymLinks +Multiviews +Indexes
AllowOverride None
Order allow,deny
Deny from all
AuthType basic
Satisfy Any
AuthName "PrivateRepository"
AuthUserFile /var/www/extjs/.htpasswd
Require valid-user
</Location>
虽然网站是:
<VirtualHost *:80>
ServerName cardiocatalogqt
Alias /cardiocatalogqt /var/www/extjs/cardiocatalogqt
<Location /cardiocatalogqt>
Options +FollowSymLinks +Multiviews +Indexes
AllowOverride None
Order allow,deny
Deny from all
AuthType basic
Satisfy Any
AuthName "PrivateRepository"
AuthUserFile /var/www/extjs/.htpasswd
Require valid-user
</Location>
</VirtualHost>
如果您希望浏览器先发制人地发送基本身份验证凭据,您需要重新排列 URL,以便它们具有共同的前缀。
我有一个网站,我正在使用 Apache 进行身份验证(使用基本身份验证进行测试)。它适用于所有浏览器。现在,我尝试将网站使用的 API 添加到身份验证领域(使用相同的 AuthName),并注意到以下行为:
在 Safari 上,它会进行两次身份验证,一次是在访问网站时,另一次是在进行 API 调用时。 (我宁愿只需要在第一次进行身份验证。)
在 Chrome 和 Firefox 上,当我第一次访问该网站时,它会进行身份验证,但是当该网站进行 API 调用时,它会 returns 出现 401 错误。
这些都在同一个 domain/port 上,所以我不认为这是一个 CORS 问题(特别是因为当我删除 API 的身份验证要求时这有效锁定,因此不可取)。我确实有相同的 AuthName,FWIW,但这似乎没有效果。
我在 httpd.conf 中的 API 配置是:
WSGIDaemonProcess rest_api user=gms threads=5
WSGIScriptAlias /api /var/www/extjs/rest_api/rest_api.wsgi
<Location /api>
Options +FollowSymLinks +Multiviews +Indexes
AllowOverride None
Order allow,deny
Deny from all
AuthType basic
Satisfy Any
AuthName "PrivateRepository"
AuthUserFile /var/www/extjs/.htpasswd
Require valid-user
</Location>
虽然网站是:
<VirtualHost *:80>
ServerName cardiocatalogqt
Alias /cardiocatalogqt /var/www/extjs/cardiocatalogqt
<Location /cardiocatalogqt>
Options +FollowSymLinks +Multiviews +Indexes
AllowOverride None
Order allow,deny
Deny from all
AuthType basic
Satisfy Any
AuthName "PrivateRepository"
AuthUserFile /var/www/extjs/.htpasswd
Require valid-user
</Location>
</VirtualHost>
如果您希望浏览器先发制人地发送基本身份验证凭据,您需要重新排列 URL,以便它们具有共同的前缀。