roadiz / user-bundle
v2.3.28
2024-09-24 13:19 UTC
Requires
- php: >=8.1
- api-platform/core: ~3.2.14
- doctrine/orm: ~2.19.0
- roadiz/core-bundle: 2.3.*
- symfony/framework-bundle: 6.4.*
- symfony/lock: 6.4.*
- symfony/rate-limiter: 6.4.*
Requires (Dev)
- php-coveralls/php-coveralls: ^2.4
- phpstan/phpstan: ^1.5.3
- phpstan/phpstan-doctrine: ^1.3
- roadiz/doc-generator: 2.3.*
- roadiz/entity-generator: 2.3.*
- roadiz/jwt: 2.3.*
- roadiz/random: 2.3.*
- squizlabs/php_codesniffer: ^3.5
- dev-develop / 2.4.x-dev
- v2.3.28
- v2.3.27
- v2.3.26
- v2.3.25
- v2.3.24
- v2.3.23
- v2.3.22
- v2.3.21
- v2.3.20
- v2.3.19
- v2.3.18
- v2.3.17
- v2.3.16
- v2.3.15
- v2.3.14
- v2.3.13
- v2.3.12
- v2.3.11
- v2.3.10
- v2.3.9
- v2.3.8
- v2.3.7
- v2.3.6
- v2.3.5
- v2.3.4
- v2.3.3
- v2.3.2
- v2.3.1
- v2.3.0
- v2.2.29
- v2.2.28
- v2.2.27
- v2.2.26
- v2.2.25
- v2.2.24
- v2.2.23
- v2.2.22
- v2.2.21
- v2.2.20
- v2.2.19
- v2.2.18
- v2.2.17
- v2.2.16
- v2.2.15
- v2.2.14
- v2.2.13
- v2.2.12
- v2.2.11
- v2.2.10
- v2.2.9
- v2.2.8
- v2.2.7
- v2.2.6
- v2.2.5
- v2.2.4
- v2.2.3
- v2.2.2
- v2.2.1
- v2.2.0
- dev-main / 2.1.x-dev
- v2.1.70
- v2.1.69
- v2.1.68
- v2.1.67
- v2.1.66
- v2.1.65
- v2.1.64
- v2.1.63
- v2.1.62
- v2.1.61
- v2.1.57
- v2.1.56
- v2.1.55
- v2.1.54
- v2.1.53
- v2.1.52
- v2.1.51
- v2.1.50
- v2.1.49
- v2.1.48
- v2.1.47
- v2.1.46
- v2.1.45
- v2.1.44
- v2.1.43
- v2.1.42
- v2.1.41
- v2.1.40
- v2.1.39
- v2.1.38
- v2.1.37
- v2.1.36
- v2.1.35
- v2.1.34
- v2.1.33
- v2.1.32
- v2.1.31
- v2.1.30
- v2.1.29
- v2.1.28
- v2.1.27
- v2.1.26
- v2.1.25
- v2.1.24
- v2.1.23
- v2.1.22
- v2.1.21
- v2.1.20
- v2.1.19
- v2.1.18
- v2.1.17
- v2.1.16
- v2.1.15
- v2.1.14
- v2.1.13
- v2.1.12
- v2.1.11
- v2.1.10
- v2.1.9
- v2.1.8
- v2.1.7
- v2.1.6
- v2.1.5
- v2.1.4
- v2.1.3
- v2.1.2
- v2.1.1
- v2.1.0
- 2.0.0
- 1.0.0
- dev-l10n_main
This package is auto-updated.
Last update: 2024-09-24 13:25:27 UTC
README
用于 Roadiz v2 的公共用户管理包
安装
确保全局已安装 Composer,如 Composer 文档中的安装章节所述。
使用 Symfony Flex 的应用程序
打开命令行,进入您的项目目录并执行以下命令
$ composer require roadiz/user-bundle
未使用 Symfony Flex 的应用程序
步骤 1:下载包
打开命令行,进入您的项目目录并执行以下命令以下载此包的最新稳定版本
$ composer require roadiz/user-bundle
步骤 2:启用包
然后,通过将其添加到项目 config/bundles.php
文件中注册的包列表来启用包。
// config/bundles.php return [ // ... \RZ\Roadiz\UserBundle\RoadizUserBundle::class => ['all' => true], ];
配置
- 复制 API Platform 资源配置文件:
./config/api_resources/user.yaml
到您的 Roadiz 项目api_resource
文件夹。 - 使用以下内容编辑您的
./config/packages/framework.yaml
文件
framework: rate_limiter: user_signup: policy: 'token_bucket' limit: 5 rate: { interval: '1 minutes', amount: 3 } cache_pool: 'cache.user_signup_limiter' password_request: policy: 'token_bucket' limit: 3 rate: { interval: '1 minutes', amount: 3 } cache_pool: 'cache.password_request_limiter' password_reset: policy: 'token_bucket' limit: 3 rate: { interval: '1 minutes', amount: 3 } cache_pool: 'cache.password_reset_limiter'
- 使用以下内容编辑您的
./config/packages/cache.yaml
文件
framework: cache: pools: cache.user_signup_limiter: ~ cache.password_request_limiter: ~ cache.password_reset_limiter: ~
- 使用以下内容编辑您的
./config/packages/security.yaml
文件
security: access_control: # Append user routes configuration - { path: "^/api/users/signup", methods: [ POST ], roles: IS_AUTHENTICATED_ANONYMOUSLY } - { path: "^/api/users/password_request", methods: [ POST ], roles: IS_AUTHENTICATED_ANONYMOUSLY } - { path: "^/api/users/password_reset", methods: [ PUT ], roles: IS_AUTHENTICATED_ANONYMOUSLY } - { path: "^/api/users", methods: [ GET, PUT, PATCH, POST ], roles: ROLE_USER }
- 使用以下内容编辑您的
./.env
文件
USER_PASSWORD_RESET_URL=https://your-public-url.test/reset USER_VALIDATION_URL=https://your-public-url.test/validate USER_PASSWORD_RESET_EXPIRES_IN=600 USER_VALIDATION_EXPIRES_IN=3600
- 更新 CORS 配置,添加额外的头部
Www-Authenticate
和x-g-recaptcha-response
# config/packages/nelmio_cors.yaml nelmio_cors: defaults: # ... allow_headers: ['Content-Type', 'Authorization', 'Www-Authenticate', 'x-g-recaptcha-response'] expose_headers: ['Link', 'Www-Authenticate']
维护命令
bin/console users:purge-validation-tokens
:删除所有过期的用户验证令牌
贡献
在 问题 中报告并发送 Pull Requests 到 主 Roadiz 仓库