2010-06-11 19 views
9

我想在heroku上的受限制的私人测试版中运行应用程序。Heroku powered私人受限测试版

我们正在定期更换应用程序,并没有进行安全审核。

要阻止任何人利用内容,我们希望锁定整个网站,因此您需要密码才能访问任何内容。

理想情况下类似于使用.htaccess和.htpasswd文件锁定Apache服务器上的整个站点。

是否有一个简单的一次性方法来做到这一点的Heroku托管的应用程序?

+0

重复/类似的 http://stackoverflow.com/questions/3839167/is-there-a-way-to-set-up-simple-http-authentication-for-an-app-on-heroku – tothemario 2011-08-09 14:29:45

回答

3

.htaccess and .htpasswd基本上告诉Apache使用基本认证系统认证用户。您可以使用纯机架层执行相同的操作。

http://rack.rubyforge.org/doc/Rack/Auth/Basic.html

由于您使用的Heroku,我假设你正在部署一个机架兼容的应用程序(无论是机架式,导轨或Sinatra的应用程序)。

5

只需在您的ApplicationController的before_filter中使用authenticate_or_request_with_http_basic即可。

看到这个Railscasts事件的说明:http://railscasts.com/episodes/82-http-basic-authentication

+0

试过了,但是不会和设计配合。似乎会产生无限的重定向循环 – 2010-07-05 08:07:13

+0

啊!只需添加'warden.custom_failure!如果在过滤方法结束时执行了?'(如https://gist.github.com/dc7906d07174c8514551) – plindberg 2010-07-08 19:56:01

+0

我已经用'warden.custom_failure!如果执行?',并且它有效,但它会导致另一个问题。当您尝试以用户身份登录(使用devise)时,它会显示“用户名和密码错误”,可能是因为它试图使用用于HTTP基本身份验证的u/p。有任何想法吗? – 2010-09-02 21:59:11

相关问题