schvoy/user-bundle

用户包 - 此包提供基本用户实体和用户仓库。

安装: 33

依赖者: 0

建议者: 0

安全: 0

星标: 0

关注者: 1

分支: 0

开放问题: 0

类型:symfony-bundle

v1.0.4 2024-09-15 22:33 UTC

This package is auto-updated.

Last update: 2024-09-15 22:34:40 UTC


README

此包提供基本用户实体和用户仓库,可以立即使用,无需过多努力,只需几个简单的步骤。

然而,这些是可扩展的,你可以轻松添加额外的属性。

安装

composer require schvoy/user-bundle

使用

创建自己的 UserRepository

<?php

declare(strict_types=1);

namespace App\Repository;

use App\Entity\User;
use Doctrine\Persistence\ManagerRegistry;
use Schvoy\UserBundle\Repository\UserRepository as BaseUserRepository;

class UserRepository extends BaseUserRepository
{
    public function __construct(ManagerRegistry $registry)
    {
        parent::__construct($registry, User::class);
    }
}

创建自己的 User 实体

<?php

namespace App\Entity;

use App\Repository\UserRepository;
use Doctrine\ORM\Mapping as ORM;
use Schvoy\UserBundle\Entity\User as BaseUser;

#[ORM\Entity(repositoryClass: UserRepository::class)]
#[ORM\Table(name: 'users')]
class User extends BaseUser
{
   
}

security.yaml

security:
    password_hashers:
        App\Entity\User:
            algorithm: argon2i

    providers:
        app_user_provider:
            entity:
                class: App\Entity\User
                property: email
    [...]

doctrine.yaml

doctrine:
    orm:
        resolve_target_entities:
            Symfony\Component\Security\Core\User\UserInterface: <your-fqcdn-for-your-user-entity-class>
    [...]

事件订阅者

Schvoy\UserBundle\EventSubscriber\PasswordHashingDoctrineEventSubscriber 在创建新用户实体或更新(如果密码已更改)时自动哈希明文密码。

在某些情况下,你可能不需要这种行为,可以使用以下代码禁用它

    PasswordHashingDoctrineEventSubscriber::setEnabled(false);

之后,你可以重新启用它

    PasswordHashingDoctrineEventSubscriber::setEnabled(true);

配置参考

此包目前不允许额外的配置。