philiplb / crudlexuser
CRUDlexUser 是一个提供 symfony/security 用户提供器的库。
0.14.0
2018-09-07 14:01 UTC
Requires
- php: >=7.1
- philiplb/crudlex: 0.14.0
- symfony/security: ~4.1
Requires (Dev)
- eloquent/phony: ~3.0
- eloquent/phony-phpunit: 4.0
- phpunit/phpunit: ~7.2
- symfony/browser-kit: ~4.1
- symfony/css-selector: ~4.1
This package is not auto-updated.
Last update: 2024-09-21 09:48:05 UTC
README
CRUDlexUser 是一个提供 symfony/security 用户提供器的库。
API 文档
CRUDlexUser API 本身在此处有文档
即将推出的最新版本
通过 (假设 APIGen 已经全局安装,如 composer global require ...
,且 PHP 版本最大为 7.1)
~/.composer/vendor/bin/apigen generate
包
CRUDlexUser 使用 SemVer 进行版本控制。由于版本小于 1.0.0,API 变化很快,因此在升级时请注意变更日志中的说明。
稳定版
"require": { "philiplb/crudlexuser": "0.14.0" }
尖端版
"require": { "philiplb/crudlexuser": "0.15.x-dev" }
使用方法
此库提供两部分。首先,一个管理界面,用于在您的管理员面板上对用户基础进行 CRUD 操作;其次,一个 symfony/security 用户提供器,以便将用户与应用程序连接起来。
管理员面板
您的用户管理员面板基于 CRUDlex。因此,您只需将以下子章节中所需的实体添加到您的 crud.yml 中。
为了获取生成的盐和哈希后的密码,您必须在初始化过程中让库添加一些 CRUDlex 事件。
$crudUserSetup = new CRUDlex\UserSetup(); $crudUserSetup->addEvents($app['crud']->getData('user'));
用户
user: label: User table: user fields: username: type: text label: Username required: true unique: true password: type: text label: Password Hash description: 'Set this to your desired password. Will be automatically converted to an hash value not meant to be readable.' required: true salt: type: text label: Password Salt description: 'Auto populated field on user creation. Used internally.' required: false userRoles: type: many label: Roles many: entity: role nameField: role thisField: user thatField: role
以及您需要的任何其他字段。推荐用于密码重置功能
email: type: text label: E-Mail required: true unique: true
角色
role: label: Roles table: role fields: role: type: text label: Role required: true
密码重置
如果您想使用密码重置功能
passwordReset: label: Password Resets table: password_reset fields: user: type: reference label: User reference: nameField: username entity: user required: true token: type: text label: Token required: true reset: type: datetime label: Reset
用户提供器
只需实例化并将其添加到您的 symfony/security 配置中
$userProvider = new CRUDlex\UserProvider($app['crud']->getData('user'), $app['crud']->getData('userRole')); $app->register(new Silex\Provider\SecurityServiceProvider(), array( 'security.firewalls' => array( 'admin' => array( //... 'users' => $userProvider ), ), ));
访问登录用户的数据
为了从您的控制器中获取登录用户的数据,您可能需要这样获取他
$user = $app['security.token_storage']->getToken()
您将获得一个 CRUDlex\User 实例,它具有一些获取器,请参阅 API 文档。