【问题标题】:How to secure static site in laravel如何在 laravel 中保护静态站点
【发布时间】:2019-09-06 18:35:56
【问题描述】:

我有独特的要求,通过不为每个 html 页面创建视图来保护 laravel 中的静态站点(html 页面)。 我们已经在 laravel 中配置了 SSO,并希望仅向经过身份验证的 SSO 用户显示静态站点。静态站点太大,为所有静态页面创建控制器和视图将花费大量时间。

请专家提出以上要求是否有任何可能的解决方案

【问题讨论】:

    标签: php laravel security authentication static


    【解决方案1】:

    虽然我当然不会推荐这种做事方式,但理论上应该是可行的。我提供了一个过于简单的示例——当然,您需要设置额外的方法来处理 HTML 以外的任何内容。

    编辑:由于您没有提供任何代码,因此不清楚您的 SSO 是如何设置的,但您需要使用中间件组(例如 auth)来保护路由。此外,path/to/static_html 不应公开可见。

    web.php

    // auth middleware group
    Route::group(['middleware' => 'auth'], function () {
    
       // catch-all route - place at end of file
       Route::any('{path?}', 'PageController@handle')->where('path', '.*');
    });
    

    PageController.php

    class PageController extends BaseController
    {
        public function handle($path = 'index.html')
        {
            $html = file_get_contents(base_path('path/to/static_html/'.$path));
    
            return view('default',compact('html'));
        }
    }
    

    default.blade.php

    {!! $html !!}
    

    【讨论】:

      猜你喜欢
      • 2021-09-14
      • 2021-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-11-20
      • 1970-01-01
      • 2018-09-03
      • 1970-01-01
      相关资源
      最近更新 更多