当 HTTP 方法是 Apache .htaccess 上的 OPTIONS 时,如何避免请求基本身份验证?
Posted
技术标签:
【中文标题】当 HTTP 方法是 Apache .htaccess 上的 OPTIONS 时,如何避免请求基本身份验证?【英文标题】:How I can avoid requesting Basic Authentication when HTTP method is OPTIONS on Apache .htaccess? 【发布时间】:2014-06-30 08:22:55 【问题描述】:我在一个站点中使用 HTTP 基本身份验证(用户名和密码),包括托管在 Apache 中的 API 端点,我在 .htaccess 上做这样的事情:
AuthType Basic
AuthName "Restricted Files"
# (Following line optional)
AuthBasicProvider file
AuthUserFile /usr/local/apache/passwd/passwords
Require user rbowen
由于我在另一个域上托管的页面中从浏览器端使用 API(CORS 部分已经解决),我需要允许某些未经身份验证的请求。这些请求是方法是“OPTIONS”的请求,(预检在这里解释:http://www.w3.org/TR/cors/#resource-preflight-requests), 拜托,我不需要有关 ajax 或浏览器上任何其他东西的任何信息,我需要知道如何在 apache 上执行此操作
提前致谢
【问题讨论】:
【参考方案1】:您可以在此处使用mod_setenvif
。
SetEnvIfNoCase Request_Method OPTIONS allowed
AuthType Basic
AuthName "Restricted Files"
# (Following line optional)
AuthBasicProvider file
AuthUserFile /usr/local/apache/passwd/passwords
Require user rbowen
Order deny,allow
Deny from all
Allow from env=allowed
Satisfy any
【讨论】:
谢谢,我错过了:Order deny,allow Deny from all Allow from env=allowed Satisfy any
让预检正常运行以上是关于当 HTTP 方法是 Apache .htaccess 上的 OPTIONS 时,如何避免请求基本身份验证?的主要内容,如果未能解决你的问题,请参考以下文章
Apache 2.4 和 php-fpm 不会为 php 页面触发 apache http 基本身份验证
当 HTTP 方法是 Apache .htaccess 上的 OPTIONS 时,如何避免请求基本身份验证?