shin1x1/laravel-force-https-url-scheme

Laravel 5 强制 HTTPS URL 方案中间件

v1.1.0 2016-04-30 04:21 UTC

This package is auto-updated.

Last update: 2024-09-12 19:10:21 UTC


README

Laravel 5 强制 HTTPS URL 方案中间件

Build Status Latest Stable Version

安装

$ composer require shin1x1/laravel-force-https-url-scheme

使用方法

此包提供重定向 HTTP 到 HTTPS 的功能。它实现了 Illuminate\Contracts\Routing\Middleware 接口,这意味着你可以将其用作 Laravel 中间件。此功能仅在 production 环境中启用。

作为全局 HTTP 中间件

  • app/Http/Kernel.php
<?php namespace App\Http;

use Illuminate\Foundation\Http\Kernel as HttpKernel;

class Kernel extends HttpKernel
{

    /**
     * The application's global HTTP middleware stack.
     *
     * @var array
     */
    protected $middleware = [
        'Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode',
        'Shin1x1\ForceHttpsUrlScheme\ForceHttpsUrlScheme', // <---added
        'Illuminate\Cookie\Middleware\EncryptCookies',
        'Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse',
        'Illuminate\Session\Middleware\StartSession',
        'Illuminate\View\Middleware\ShareErrorsFromSession',
        'App\Http\Middleware\VerifyCsrfToken',
    ];}

作为路由中间件

  • app/Http/Kernel.php
<?php namespace App\Http;

use Illuminate\Foundation\Http\Kernel as HttpKernel;

class Kernel extends HttpKernel
{
(snip)
    /**
     * The application's route middleware.
     *
     * @var array
     */
    protected $routeMiddleware = [
        'auth' => 'App\Http\Middleware\Authenticate',
        'auth.basic' => 'Illuminate\Auth\Middleware\AuthenticateWithBasicAuth',
        'guest' => 'App\Http\Middleware\RedirectIfAuthenticated',
        'force_https_url_scheme' => 'Shin1x1\ForceHttpsUrlScheme\ForceHttpsUrlScheme', // <---added 
    ];
}
  • app/Http/routes.php
Route::group(['middleware' => 'force_https_url_scheme'], function () {
    get('/admin/', function () {
        // something here
    });
});