webundle / puzzle-user-bundle
管理用户账户和安全
1.0.0
2019-06-05 08:02 UTC
Requires
- php: >=5.5.9
- webundle/puzzle-admin-bundle: ^1.0
- webundle/puzzle-media-bundle: ^1.0
This package is auto-updated.
Last update: 2024-09-05 19:16:50 UTC
README
基于 Symfony 项目,用于管理用户账户和用户安全的项目。
安装包
打开命令行控制台,进入您的项目目录,并执行以下命令以下载此包的最新稳定版本
composer require webundle/puzzle-user-bundle
步骤 1: 启用包
通过将包添加到项目 app/AppKernel.php
文件中注册的包列表中来启用 admin 包
<?php // app/AppKernel.php // ... class AppKernel extends Kernel { public function registerBundles() { $bundles = array( // ... new Puzzle\UserBundle\UserBundle(), ); // ... } // ... }
步骤 2: 配置安全
通过将配置添加到项目 app/config/security.yml
文件中来配置安全
security: encoders: Puzzle\UserBundle\Entity\User: algorithm: sha512 encode_as_base64: false iterations: 1 role_hierarchy: ... # User ROLE_ACCOUNT: ROLE_ADMIN ROLE_SUPER_ADMIN: [..,ROLE_ACCOUNT] providers: chain_provider: chain: provider: [user_db] user_db: id: user.provider firewalls: dev: pattern: ^/(_(profiler|wdt)|css|images|js)/ security: false login: pattern: ^/login$ anonymous: ~ registration: pattern: ^/registration$ anonymous: ~ admin: entry_point: admin.security.authentication_entry_point pattern: '^%admin_prefix%' host: '%admin_host%' provider: chain_provider access_denied_handler: security.access_denied_handler form_login: check_path: login_check login_path: admin_login success_handler: security.authentication_success_handler failure_handler: security.authentication_failure_handler csrf_token_generator: security.csrf.token_manager logout: path: /logout target: admin_homepage delete_cookies: REMEMBERME: { path: null, domain: null} remember_me: secret: "%secret%" lifetime: 84400 path: admin_homepage domain: ~ always_remember_me: true main: entry_point: security.authentication_entry_point pattern: '^/' host: '%host%' anonymous: ~ provider: chain_provider access_denied_handler: security.access_denied_handler form_login: check_path: login_check login_path: login success_handler: security.authentication_success_handler failure_handler: security.authentication_failure_handler csrf_token_generator: security.csrf.token_manager logout: path: /logout target: app_homepage remember_me: secret: "%secret%" lifetime: 172 800 # 2 days path: app_homepage domain: ~ always_remember_me: true secured_area: pattern: ^/demo/secured/ form_login: check_path: _security_check login_path: _demo_login logout: path: _demo_logout target: _demo #anonymous: ~ #http_basic: # realm: "Secured Demo Area" access_control: ... # User - {path: ^%admin_prefix%user, host: "%admin_host%", roles: ROLE_ACCOUNT } - {path: ^%admin_prefix%myaccount, host: "%admin_host%", roles: ROLE_ACCOUNT }
步骤 3: 启用路由
通过将默认路由添加到项目 app/config/routing.yml
文件中来注册路由
.... user: resource: "@UserBundle/Resources/config/routing.yml" prefix: /
要查看所有用户路由,请输入:php bin/console debug:router | grep user
步骤 4: 配置包
通过将配置添加到项目 app/config/config.yml
文件中来配置 admin 包
admin: ... modules_available: '..,user' navigation: nodes: ... # User user: label: 'user.title' description: 'user.description' translation_domain: 'user' attr: class: 'fa fa-users' parent: ~ user_roles: ['ROLE_ACCOUNT'] user_list: label: 'user.account.navigation' translation_domain: 'user' path: 'admin_user_list' sub_paths: ['admin_user_create', 'admin_user_update', 'admin_user_show'] parent: user user_roles: ['ROLE_ACCOUNT'] user_group: label: 'user.group.navigation' translation_domain: 'user' path: 'admin_user_group_list' sub_paths: ['admin_user_group_create', 'admin_user_group_update', 'admin_user_group_show'] parent: user user_roles: ['ROLE_ACCOUNT'] # Puzzle User configuration user: registration: confirmation_link: true # Send confirmation url to enable account manually redirect_uri: '' # redirect uri after registration address: 'johndoe@exemple.ci' # registration address