【问题标题】:How are Sylius Admin Controllers Restricted to Admin UsersSylius 管理员控制器如何限制为管理员用户
【发布时间】:2019-01-07 23:49:09
【问题描述】:

在传统(或更准确地说,一些传统)PHP MVC 系统中工作时,如果应用程序有一个“管理”区域要求用户登录到应用程序,程序员将使用一个控制器类,它继承自一些基本管理控制器,或使用一些管理特性。这些系统中的路由代码知道在管理控制器/特征上使用某些方法来检查用户是否被授权。

但是,Sylius 控制器是 stand-alone classes with no parent classes

<?php
//...
final class DashboardController
{
    //...
}

并且似乎不包含任何执行“用户是否登录”检查的代码。

sylius 程序员如何创建到需要用户登录的控制器的路由?

什么系统在后台强制 sylius 用户登录或不登录?

【问题讨论】:

    标签: php model-view-controller sylius


    【解决方案1】:

    Sylius 使用 Symfony 作为 PHP 框架,它依靠安全组件来限制对应用程序某些不打算公开的区域(例如管理面板)的访问。

    这样的配置可以在这里看到:https://github.com/Sylius/Sylius/blob/master/config/packages/security.yaml(见第 16 行和第 101 行)。

    资源(基本上,Sylius 中的每个实体 - 产品、用户、属性、分类单元)都具有更高级的权限,可以通过 https://github.com/Sylius/RbacPluginhttps://bitbag.shop/products/sylius-access-control-layer 等插件加以利用。

    示例:https://github.com/Sylius/Sylius/blob/master/src/Sylius/Bundle/AdminBundle/Resources/config/routing/admin_user.yml#L10

    您可以在此处阅读有关 Symfony 安全组件如何工作的更多信息:https://symfony.com/doc/current/components/security.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-11
      • 2013-12-25
      • 2018-10-24
      • 1970-01-01
      • 1970-01-01
      • 2014-12-13
      相关资源
      最近更新 更多