最简单的密码保护方式可以保护我的Laravel应用程序在线用于开发目的

时间:2014-04-22 17:38:38

标签: .htaccess laravel laravel-4 web-deployment .htpasswd

我想密码保护我的laravel应用程序,理想情况下只在部署服务器上(我使用Fortrabbit),但是,我不介意登录到我的本地开发服务器。

我最初认为路由过滤器就足够了,但这似乎不起作用:

Route::get('/', array('before' => 'auth.basic', function()
{
    // Only authenticated users may enter...
}));

在我的路由文件的顶部,这是完全无效的,但是,在我的路由文件的底部,它似乎确实有效,但如果我在物理上键入一个子目录,即localhost:8888 / user /它似乎超越了它。

如何向客户展示您的应用程序(没有Google,其他人找到它们)的任何指导都将非常受欢迎。

4 个答案:

答案 0 :(得分:3)

您需要先申请' auth过滤到需要它的所有路由。

它在路由文件顶部不起作用的原因可能是因为您指定了指向' /'的另一个GET路由,而在文件的底部它将工作正常,因为使用auth.basic的路由会覆盖它。

您可以执行以下操作来指定所有路径都应受到保护:

Route::group(array('before' => 'auth.basic'), function()
{
    // all your routes placed in here will be protected by auth.basic
});

答案 1 :(得分:0)

.ttaccess文件是否可以在fortrabbit? 比使用:http://www.htaccesstools.com/articles/password-protection/

答案 2 :(得分:0)

你可以围绕你的路线组成一个小组吗? http://laravel.com/docs/routing#route-groups

(正如我之前所说,我看到我借用了这些代码(给予该海报的信用))

Route::group(array('before' => 'auth.basic'), function()
{
    // all your routes placed in here will be protected by auth.basic
});

或 也许你可以使用基于patern的" *"你路线上的通配符?

Route::get('*', array('before' => 'auth.basic', function() {
// Only authenticated users may enter... }));
     

http://laravel.com/docs/routing#route-filters

答案 3 :(得分:0)

有时我使用Pagekite暂时允许访问本地开发框中的网站:https://pagekite.net/