我想对我的laravel应用程序进行密码保护,最好只在部署服务器上(我使用的是Fortrabbit),但是,我不介意登录到我的本地开发服务器。
我最初认为一个路由过滤器就足够了,但这似乎不起作用:
Route::get('/', array('before' => 'auth.basic', function()
{
// Only authenticated users may enter...
}));
在我的路由文件的顶部,这是完全无效的,然而,在我的路径文件的底部,它似乎确实有效,但如果我在中物理地键入一个子目录,即localhost:8888/user/,它似乎会覆盖它。
任何关于如何向客户展示应用程序的指导(如果没有谷歌,其他人也找不到),都将不胜感激。
您需要将'before'身份验证筛选器应用于所有需要它的路由。
它在路由文件顶部不起作用的原因可能是您指定了另一个指向"/"的GET路由,而在文件底部,它会正常工作,因为auth.basic的路由会覆盖它。
你可以这样做来指定所有路由都应该受到保护:
Route::group(array('before' => 'auth.basic'), function()
{
// all your routes placed in here will be protected by auth.basic
});
你能围绕你的路线组成一个小组吗。http://laravel.com/docs/routing#route-分组
(正如我之前所建议的那样,我看到了,所以我借用了代码(归功于海报))
Route::group(array('before' => 'auth.basic'), function()
{
// all your routes placed in here will be protected by auth.basic
});
或也许你可以在你的路线上使用基于家长的"*"通配符?
Route::get('*', array('before' => 'auth.basic', function() { // Only authenticated users may enter... }));
http://laravel.com/docs/routing#route-过滤器
在fortrabbit中有.htaccess文件吗?比可能使用:http://www.htaccesstools.com/articles/password-protection/
有时我会使用Pagekite临时允许访问本地开发框上的网站:https://pagekite.net/