Sylius 管理员控制器如何限制管理员用户
How are Sylius Admin Controllers Restricted to Admin Users
在传统(或更准确地说,一些 传统)PHP MVC 系统中工作时,如果应用程序有一个 "admin" 区域需要用户要登录到应用程序,程序员要么使用继承自某些基本管理控制器的控制器 class,要么使用某些管理特征。这些系统中的路由代码知道在管理员 controller/trait 上使用某些方法来检查用户是否被授权。
然而,Sylius 控制器是 stand-alone classes with no parent classes。
<?php
//...
final class DashboardController
{
//...
}
并且似乎不包含任何执行 "is the user logged in" 检查的代码。
sylius 程序员如何创建到需要用户登录的控制器的路由?
什么系统在后台强制 sylius 用户登录或不登录?
Sylius 正在使用 Symfony 作为 PHP 框架,它依赖于安全组件来限制对应用程序某些不打算 public 的区域的访问(例如管理面板) .
可以在这里看到这样的配置:https://github.com/Sylius/Sylius/blob/master/config/packages/security.yaml(参见第 16 行和第 101 行)。
资源(基本上,Sylius 中的每个实体 - 产品、用户、属性、分类单元)具有更高级的权限,可以通过 https://github.com/Sylius/RbacPlugin or https://bitbag.shop/products/sylius-access-control-layer 等插件加以利用。
您可以在此处阅读有关 Symfony 安全组件如何工作的更多信息:https://symfony.com/doc/current/components/security.html
在传统(或更准确地说,一些 传统)PHP MVC 系统中工作时,如果应用程序有一个 "admin" 区域需要用户要登录到应用程序,程序员要么使用继承自某些基本管理控制器的控制器 class,要么使用某些管理特征。这些系统中的路由代码知道在管理员 controller/trait 上使用某些方法来检查用户是否被授权。
然而,Sylius 控制器是 stand-alone classes with no parent classes。
<?php
//...
final class DashboardController
{
//...
}
并且似乎不包含任何执行 "is the user logged in" 检查的代码。
sylius 程序员如何创建到需要用户登录的控制器的路由?
什么系统在后台强制 sylius 用户登录或不登录?
Sylius 正在使用 Symfony 作为 PHP 框架,它依赖于安全组件来限制对应用程序某些不打算 public 的区域的访问(例如管理面板) .
可以在这里看到这样的配置:https://github.com/Sylius/Sylius/blob/master/config/packages/security.yaml(参见第 16 行和第 101 行)。
资源(基本上,Sylius 中的每个实体 - 产品、用户、属性、分类单元)具有更高级的权限,可以通过 https://github.com/Sylius/RbacPlugin or https://bitbag.shop/products/sylius-access-control-layer 等插件加以利用。
您可以在此处阅读有关 Symfony 安全组件如何工作的更多信息:https://symfony.com/doc/current/components/security.html