bitexpert/sylius-force-login-plugin

Sylius 强制登录插件

安装: 1

依赖项: 0

建议者: 0

安全: 0

星标: 3

关注者: 3

分支: 0

开放问题: 2

类型:sylius-plugin


README

Mastodon Follow

Sylius 强制登录插件允许您限制访问者可以看到哪些页面。如果页面未标记为可访问,则访问者将被重定向到登录页面。Sylius 强制登录模块特别适用于只为特定用户群体(例如企业相关业务合作伙伴)提供服务并需要确保只有这些用户能够浏览网站或产品目录的商家。

特性

  • 强制您的访客先登录(或注册),然后再允许他们访问您的页面和目录
  • 管理:通过管理区域的GUI管理白名单规则
  • 白名单:将URL规则定义为模式,以定义访客在不登录的情况下可以访问哪些页面
  • 多店支持:定义白名单规则是全局应用还是特定于特定商店

要求

  • PHP 8.1或更高版本
  • Sylius 1.13或更高版本

安装

  1. 通过Composer安装插件
composer require bitexpert/sylius-force-login-plugin
  1. 启用插件
<?php
# config/bundles.php
return [
    // ...

    BitExpert\SyliusForceCustomerLoginPlugin\BitExpertSyliusForceCustomerLoginPlugin::class => ['all' => true],
];
  1. 导入配置
# config/packages/_sylius.yaml
imports:
    # ...

    - { resource: "@BitExpertSyliusForceCustomerLoginPlugin/Resources/config/config.yml" }
    
    # ...
  1. 导入路由
# config/routes/bitexpert_sylius_force_login.yaml
bitexpert_sylius_forcelogin:
  resource: "@BitExpertSyliusForceCustomerLoginPlugin/Resources/config/admin_routing.yml"
  prefix: '/%sylius_admin.path_name%'
  1. 更新您的数据库模式
php bin/console doctrine:migrations:diff
php bin/console doctrine:migrations:migrate

用户指南

如何使用

Sylius 强制登录模块的使用是通过重定向访客来隐式实现的,如果请求的URI不匹配任何配置的白名单URL规则。

白名单

白名单基于规则的用法。策略选择定义了规则如何被解释,详细信息如下。以下示例展示了如何为主页(起始页面)添加白名单条目。

在Sylius Admin中,转到配置 > 强制登录,并使用 创建 按钮创建新条目。

  • 标签 标签下方的文本框中输入 主页
  • URL规则 标签旁边的文本框中输入 /
  • 频道 标签下方的频道列表中选择应激活此规则的频道。

使用 创建 按钮保存条目。在重定向到 概览网格 后,新条目应出现在列表中。

如何配置

策略

静态

规则被用作字面值并将其添加到基本URL上进行匹配。这是默认行为。

正则表达式

规则基于正则表达式,并将用于在当前URL中查找匹配项。

否定正则表达式

基于正则表达式策略,但否定结果。如果只有少数页面应该受到限制,则很有帮助。

添加自定义策略

策略配置旨在可扩展。您可以通过创建一个实现 \BitExpert\SyliusForceCustomerLoginPlugin\Model\StrategyInterface 接口并带有 force_customer_login.url_strategy 标签的新类来创建自己的策略,并在服务配置中进行标记。

测试

您可以使用以下命令运行单元测试(需要依赖项安装)

./vendor/bin/phpunit

贡献

请随意通过报告问题或创建改进的pull请求来为此模块做出贡献。

许可证

Sylius 强制登录模块是在MIT许可证下发布的。