tobur / simple-user
此包的最新版本(v0.3)没有可用的许可信息。
v0.3
2018-10-17 09:16 UTC
Requires
- php: >=7.1.3
- symfony/form: ^4.0
- symfony/framework-bundle: ^4.0
- symfony/monolog-bundle: ^3.1
- symfony/orm-pack: ^1.0
- symfony/security-bundle: ^4.0
- symfony/swiftmailer-bundle: ^2.3
- symfony/twig-bundle: ^4.0
- symfony/validator: ^4.0
- twig/twig: ^2.0
This package is not auto-updated.
Last update: 2024-09-29 04:48:58 UTC
README
安装
composer require tobur/simple-user v0.2
SimpleUser\SimpleUserBundle::class => ['all' => true],
修改你的路由文件
simple_user_login:
resource: '@SimpleUserBundle/Resources/config/routing_login.yaml'
prefix: /admin/
simple_user_registration:
resource: '@SimpleUserBundle/Resources/config/routing_registration.yaml'
prefix: /
simple_user_password_reset:
resource: '@SimpleUserBundle/Resources/config/routing_password_reset.yaml'
prefix: /
修改你的防火墙设置
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
admin:
pattern: ^/admin
anonymous: ~
provider: user_provider
form_login:
login_path: simple_user_login
check_path: simple_user_login_check
default_target_path: '%redirect_after_login%'
username_parameter: '_username'
password_parameter: '_password'
post_only: true
logout:
path: simple_user_logout
target: simple_user_login
access_control:
- { path: ^/admin/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/admin, roles: ROLE_USER }
- { path: ^/, roles: IS_AUTHENTICATED_ANONYMOUSLY }
创建simple_user.yaml以配置包
simple_user:
user_class: App\Entity\User
role_class: App\Entity\Role
firewall_name: admin
redirect_after_login: '%redirect_after_login%'
email:
from: %email_from%
创建实体类
<?php
namespace App\Entity;
use SimpleUser\Model\Role as BaseRole;
use Doctrine\ORM\Mapping as ORM;
use Doctrine\Common\Collections\ArrayCollection;
/**
* @ORM\Entity
* @ORM\Table(name="role")
*/
class Role extends BaseRole
{
/**
* @ORM\ManyToMany(targetEntity="App\Entity\User", mappedBy="roles", cascade={"persist","remove"})
*
* @var ArrayCollection
*/
protected $users;
public function __construct() {
$this->users = new ArrayCollection();
}
}
<?php
namespace App\Entity;
use Doctrine\Common\Collections\ArrayCollection;
use SimpleUser\Interfaces\SimpleUserRoleInterface;
use SimpleUser\Model\User as BaseUser;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
* @ORM\Table(name="user")
*/
class User extends BaseUser
{
/**
* @ORM\ManyToMany(targetEntity="App\Entity\Role", inversedBy="users", cascade={"persist","remove"})
* @ORM\JoinTable(name="simple_user_to_role",
* joinColumns={@ORM\JoinColumn(name="user_id", referencedColumnName="id")},
* inverseJoinColumns={@ORM\JoinColumn(name="role_id", referencedColumnName="id")}
* )
* @var SimpleUserRoleInterface[]
*/
protected $roles;
public function __construct() {
$this->roles = new ArrayCollection();
}
}
更新你的数据库
php bin/console doctrine:schema:update
重写模板示例
/templates/bundles/SimpleUserBundle/Security/login.html.twig