首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >访问路由: Laravel 4中使用https的资源

访问路由: Laravel 4中使用https的资源
EN

Stack Overflow用户
提问于 2014-01-07 12:02:53
回答 2查看 1.2K关注 0票数 0

要强制HTTPS在指定的路由上运行,Laravel文档要求执行以下操作:

代码语言:javascript
运行
复制
Route::get('foo', array('https', function()
{
    return 'Must be over HTTPS';
}));

现在,在我的第一个Laravel应用程序中,我一直在使用资源控制器。我不认为我会把它们用于我的第二个应用程序,继续我已经读过的东西,但是现在他们很高兴地坐在我的router.php文件中。

我想强迫我的应用程序的后台办公部分使用HTTPS。因此,我的开场白如下:

代码语言:javascript
运行
复制
Route::resource('backoffice', array('https','BackofficeController'));

拉勒维尔不喜欢这个阵列。

因此,相反,我想我应该尝试在下一个参数上:

代码语言:javascript
运行
复制
Route::resource('backoffice', 'BackofficeController', 'https'));

但是下一个参数需要一个数组。我找不到这方面的文档,但我将其转换为数组。但还是没成功。

代码语言:javascript
运行
复制
Route::resource('backoffice', 'BackofficeController', array('https')));

我甚至试过:

代码语言:javascript
运行
复制
Route::resource('backoffice', 'BackofficeController', array('https'=>true)));

然而,这也失败了。那么,如何强制资源使用https呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-01-07 12:13:23

代码语言:javascript
运行
复制
Route::filter('forceHttps', function($req){
    if (! Request::secure()) {
        return Redirect::secure(Request::getRequestUri());
    }
});

Route::group(['before' => 'forceHttps'], function(){
    Route::resource('backoffice', 'BackofficeController');
});
票数 2
EN

Stack Overflow用户

发布于 2014-01-07 13:07:15

假设您有一个像Andreyco建议的那样的过滤器函数,这似乎很好,您可以这样做:

代码语言:javascript
运行
复制
//Andreyco's filter
Route::filter('forceHttps', function($req){
if (! Request::secure()) {
    return Redirect::secure(Request::getRequestUri());
}
});
//backoffice group routing
Route::group(array('prefix' => 'backoffice', 'before' => 'forceHttps'), function()
{
    Route::any('/',                'App\Controllers\BOindexController@index');
    Route::resource('otherBackOfficeURI', 'App\Controllers\OtherBOController');
    //other routes & controllers here...
});

这样,从site.tld/backoffice开始的所有内容都将通过https过滤器(很可能是通过isAdmin过滤器),然后检查内部功能路由规则。我想这样会更方便。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20971135

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档