plumtreesystems / user-bundle
这是一个Symfony扩展包,它扩展了symfony用户,但没有添加太多不必要的功能。
0.2.4
2020-03-26 11:10 UTC
Requires
- php: ^7.2
- ext-json: *
- symfony/console: ^5.0
- symfony/form: ^5.0
- symfony/orm-pack: ^1.0
- symfony/security-bundle: ^5.0
- symfony/serializer-pack: ^1.0
- symfony/twig-bundle: ^5.0
- symfony/validator: ^5.0
Requires (Dev)
This package is auto-updated.
Last update: 2024-09-26 21:38:59 UTC
README
这是一个Symfony扩展包,它扩展了symfony用户,但没有添加太多不必要的功能。
安装
步骤 1: 下载Bundle
打开命令行控制台,进入项目目录并执行以下命令以下载此Bundle的最新稳定版本
$ composer require plumtreesystems/user-bundle
此命令需要您全局安装Composer,如Composer文档中的安装章节所述。
步骤 2: 启用Bundle
然后,通过将其添加到项目/configu/bundles.php
文件中注册的Bundle列表中来启用Bundle
<?php // bundles.php // ... return [ //... Symfony\Bundle\FrameworkBundle\FrameworkBundle::class => ['all' => true], //... PlumTreeSystems\UserBundle\PlumTreeSystemsUserBundle::class => ['all' => true], //... ];
步骤 3: 创建并导入配置
为Bundle创建配置
#config/packages/pts_user_bundle.yaml plum_tree_systems_user: user_class: <classname of the class that extends one of the abstract classes>
导入路由
#config/routes.yaml plum_tree_systems_user: resource: "@PlumTreeSystemsUserBundle/Resources/config/routes/securityRoutes.yml" prefix: /
基本用法
步骤 1: 创建用户实体
创建一个用户实体,它扩展了现有的抽象(TokenUser|User...)实体之一。
// App/Entity/User.php namespace App\Entity; use PlumTreeSystems\UserBundle\Entity\User as PTSUser; class User extends PTSUser { /... }
步骤 2: 在配置中引用类名
将此用户类添加到配置文件config/packages/pts_user_bundle.yaml
。
#config/packages/pts_user_bundle.yaml plum_tree_systems_user: user_class: 'App\Entity\User'
步骤 3: 编辑安全配置
添加安全提供者和编码器
#config/packages/security.yaml security: #... providers: ptsuser: id: pts_user.provider #... encoders: App\Entity\User: bcrypt # optionally add the user checker to the firewalls where you will be using the authentication to handle disabled users firewalls: #... main: #... user_checker: pts_user.security.checker #...
步骤 4: 创建用户实例
如果扩展的用户没有带来任何附加字段,可以使用创建用户命令php bin/console pts:user:create
注意:在实现自己的用户并未覆盖密码创建流程时,使用$user->setPlainPassword('1234')
方法在将其持久化到数据库之前自动编码它
步骤 4: 您现在可以登录
访问导入的登录路由,例如:mywebsite.com/
[前缀]
login
自定义
要自定义登录表单,请添加模板文件/templates/bundles/PlumTreeSystemsUserBundle/security/login.html.twig
,最好复制并修改原始文件。