bitexpert / sylius-force-login-plugin
Sylius 强制登录插件
Requires
- php: ^8.1
- sylius/sylius: ^1.13
Requires (Dev)
- behat/behat: ^3.6.1
- behat/mink-selenium2-driver: ^1.4
- captainhook/captainhook: ^5.19
- captainhook/plugin-composer: ^5.3
- dmore/behat-chrome-extension: ^1.3
- dmore/chrome-mink-driver: ^2.7
- friends-of-behat/mink: ^1.8
- friends-of-behat/mink-browserkit-driver: ^1.4
- friends-of-behat/mink-debug-extension: ^2.0.0
- friends-of-behat/mink-extension: ^2.4
- friends-of-behat/page-object-extension: ^0.3
- friends-of-behat/suite-settings-extension: ^1.0
- friends-of-behat/symfony-extension: ^2.1
- friends-of-behat/variadic-extension: ^1.3
- phpspec/phpspec: ^7.2
- phpstan/extension-installer: ^1.0
- phpstan/phpstan: ^1.8.1
- phpstan/phpstan-doctrine: 1.3.37
- phpstan/phpstan-strict-rules: ^1.3.0
- phpstan/phpstan-webmozart-assert: ^1.2.0
- phpunit/phpunit: ^9.5
- polishsymfonycommunity/symfony-mocker-container: ^1.0
- sylius-labs/coding-standard: ^4.2
- symfony/browser-kit: ^5.4 || ^6.0
- symfony/debug-bundle: ^5.4 || ^6.0
- symfony/dotenv: ^5.4 || ^6.0
- symfony/flex: ^2.2.2
- symfony/intl: ^5.4 || ^6.0
- symfony/web-profiler-bundle: ^5.4 || ^6.0
Conflicts
- symfony/framework-bundle: 6.2.8
This package is auto-updated.
Last update: 2024-09-02 06:23:43 UTC
README
Sylius 强制登录插件允许您限制访问者可以看到哪些页面。如果页面未标记为可访问,则访问者将被重定向到登录页面。Sylius 强制登录模块特别适用于只为特定用户群体(例如企业相关业务合作伙伴)提供服务并需要确保只有这些用户能够浏览网站或产品目录的商家。
特性
- 强制您的访客先登录(或注册),然后再允许他们访问您的页面和目录
- 管理:通过管理区域的GUI管理白名单规则
- 白名单:将URL规则定义为模式,以定义访客在不登录的情况下可以访问哪些页面
- 多店支持:定义白名单规则是全局应用还是特定于特定商店
要求
- PHP 8.1或更高版本
- Sylius 1.13或更高版本
安装
- 通过Composer安装插件
composer require bitexpert/sylius-force-login-plugin
- 启用插件
<?php # config/bundles.php return [ // ... BitExpert\SyliusForceCustomerLoginPlugin\BitExpertSyliusForceCustomerLoginPlugin::class => ['all' => true], ];
- 导入配置
# config/packages/_sylius.yaml imports: # ... - { resource: "@BitExpertSyliusForceCustomerLoginPlugin/Resources/config/config.yml" } # ...
- 导入路由
# config/routes/bitexpert_sylius_force_login.yaml bitexpert_sylius_forcelogin: resource: "@BitExpertSyliusForceCustomerLoginPlugin/Resources/config/admin_routing.yml" prefix: '/%sylius_admin.path_name%'
- 更新您的数据库模式
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许可证下发布的。