繁体   English   中英

如何在基于PHP的Heroku应用中添加HTTP身份验证?

How do I add HTTP authentication to a PHP-based Heroku app?

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我试图将HTTP身份验证添加到基于PHP的Heroku应用程序中。 我在这里找到了一个很棒的Github要点它提供了在我的Heroku目录中创建.htaccess和.htpasswd文件的代码。 我目前在/ app /目录中都有这两个文件(因此.htaccess位于/app/.htaccess中,而.htpasswd位于/app/.htpasswd中)。 但是,当我导航到我的应用并输入用户名和密码时,出现500内部服务器错误。 检查Heroku日志文件,我只能看到找不到我的.htpasswd文件:

(2)没有这样的文件或目录:[IP删除] AH01620:无法打开密码文件:/app/.htpasswd

这是我的.htaccess文件的完整内容:

AuthUserFile /app/.htpasswd AuthType基本AuthName“我的文件”需要有效用户

如果我在heroku和'ls -a'上运行bash,我可以看到我的.htpasswd文件肯定在/ app /目录中。

有人知道这是怎么回事吗? 就此设置而言,我缺少什么吗?

1 个回复

弄清楚了! 我需要在项目的主目录(在本地计算机上)中创建.htpasswd文件,然后将该文件添加到我的git repo中,并将整个内容推送到Heroku。 出于某种原因,当我使用“ heroku run bash”然后执行命令添加.htpasswd文件时,似乎Heroku在临时dyno /实例而非我的应用程序的永久版本上添加了该文件。

对于其他尝试这样做的菜鸟,需要一个简单的端到端解释:

  • 按照https://gist.github.com/bbrewer97202/3316425上的说明,在git repo的主目录(在本地计算机上)中创建.htaccess文件。 对于我的应用程序,我遗漏了AuthFile行的/ www部分,因为Heroku实例上没有/ www /文件夹。
  • 使用本地计算机上的终端,在git repo的主目录中创建一个.htpasswd文件,方法是在该目录中键入“ htpasswd -c .htpasswd [用户名]”。
  • 将所有内容提交给git,然后推送到Heroku服务器。
5 PHP中的HTTP身份验证

对于我的新网站,我正在使用API​​。 我必须使用HTTP身份验证登录到该API。 过去,我可以使用以下网址通过url登录: http:// username:Password@example.nl 现在,Chrome从去年开始不再支持此功能。 如何通过我的PHP代码登录此API? ...

7 PHP中没有Curl的HTTP身份验证

现在,我有一个PHP应用程序,该应用程序使用curl进行HTTP身份验证。 我认为,这是比较安全性和代码复杂性方面其他身份验证方法的更好的身份验证方法。 但是我仍然想知道还有没有其他方法可以使用,而不是使用curl。 ...

8 PHP中的外部HTTP身份验证

希望重定向到我大学的登录页面,以便使用$ _SERVER ['REMOTE_USER']对用户进行身份验证。 传统上,我会使用htaccess文件重定向到登录页面,但我希望我的解决方案完全在PHP中。 我想起初会...... 但我需要指定返回网址,对吗? 我不知道。 我可能完全错 ...

9 HTTP身份验证PHP

我从php.net获得此代码 是否可以设置目标文件夹(或URL),用户ID和密码? 我不想向用户显示弹出式登录窗口 例如) 标头行之后(“ HTTP / 1.0 401未经授权”); ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM