longitude-one/banned-bundle
Composer 安装命令:
composer require longitude-one/banned-bundle
包简介
Banned user (non)-authentication
README 文档
README
LongitudeOne\BannedBundle is a very small bundle for Symfony framework. Banned users won't be able to login on your application.
Installation
Make sure Composer is globally installed, as explained in the installation chapter of the Composer documentation.
Applications that use Symfony Flex
Open a command console, enter your project directory and execute:
$ composer require longitude-one/banned-bundle
Applications that don't use Symfony Flex
Step 1: Download the Bundle
Open a command console, enter your project directory and execute the following command to download the latest stable version of this bundle:
$ composer require longitude-one/banned-bundle
Step 2: Enable the Bundle
Then, enable the bundle by adding it to the list of registered bundles
in the config/bundles.php file of your project:
// config/bundles.php return [ // ... LongitudeOne\BannedBundle\LongitudeOneBannedBundle::class => ['all' => true], ];
Configuration
First, your user class should implement the BannedInterface, then add the stub method isBanned.
Example
// src/Entity/User.php namespace App\Entity; // declare the interface use LongitudeOne\BannedBundle\Entity\BannedInterface; use Symfony\Component\Security\Core\User\UserInterface; // add the interface class User implements BannedInterface, UserInterface { //Add a private property private bool $banned = false; //Your getter can be improved to avoid that an admin bans another one. public function isBanned(): bool { //In this example admins cannot be banned return $this->isBanned() and !in_array('ROLE_ADMIN', $this->getRoles()); } //Add a setter if needed public function setBanned(bool $banned): self { $this->banned = $banned; return $this; } //... }
Step2, configure the security layer:
Add the UserChecker service to your security config:
# config/security.yaml security: ... firewalls: ... main: ... user_checker: lo_banned.user_checker
Jobs done!
统计信息
- 总下载量: 52
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 3
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2021-06-11