Friends Of Symfony User Bundle
1.- Instalación:
En el archivo composer.json
nano composer.json
debajo de:
"require": {
agregar:
"friendsofsymfony/user-bundle": "~2.0@dev"
luego actualizar composer:
php composer.phar update
2.- Habilitación:
A continuación editar el archivo AppKernel.php
nano app/AppKernel.php
debajo de:
$bundles = array(
agregar:
new FOS\UserBundle\FOSUserBundle(),
3.- Personalización de Entidad Usuario
nano src/Petramas/MainBundle/Entity/Usuario.php
agregar debajo de namespace:
use FOS\UserBundle\Model\User as BaseUser;
que la clase herede de BaseUser:
class Usuario extends BaseUser
cambiar el id a protected:
protected $id;
usar el constructor del padre, debajo de:
public function __construct()
{
agregar:
parent::__construct();
4.- Configurar la seguridad
nano app/config/security.yml
security:
encoders:
FOS\UserBundle\Model\UserInterface: sha512
role_hierarchy:
ROLE_ADMIN: ROLE_USER
ROLE_SUPER_ADMIN: [ROLE_USER, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]
providers:
fos_userbundle:
id: fos_user.user_provider.username
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
main:
pattern: ^/
form_login:
login_path: /
provider: fos_userbundle
csrf_provider: form.csrf_provider
default_target_path: /
use_referer: true
always_use_default_target_path: true
target_path_parameter: _target_path
failure_path: /
logout:
path: /logout
target: /
invalidate_session: false
anonymous: true
remember_me:
key: %secret%
lifetime: 3600
path: /
domain: local.petramas.com
access_control:
- { path: ^/admin/, roles: ROLE_ADMIN }
5.- Configurar FOSUserBundle
nano app/config.yml
habilitar librería traductora:
descomentar:
#translator: { fallback: %locale% }
agregar al final de archivo:
fos_user:
db_driver: orm
firewall_name: main
user_class: Petramas\MainBundle\Entity\Usuario
6.- Importar las rutas de FOSUserBundle:
nano app/config/routing.yml
agregar al final de archivo:
fos_user_security:
resource: "@FOSUserBundle/Resources/config/routing/security.xml"
fos_user_profile:
resource: "@FOSUserBundle/Resources/config/routing/profile.xml"
prefix: /profile
fos_user_register:
resource: "@FOSUserBundle/Resources/config/routing/registration.xml"
prefix: /register
fos_user_resetting:
resource: "@FOSUserBundle/Resources/config/routing/resetting.xml"
prefix: /resetting
fos_user_change_password:
resource: "@FOSUserBundle/Resources/config/routing/change_password.xml"
prefix: /profile
7.- Actualizar base de datos
php app/console doctrine:schema:update --force
No hay comentarios.:
Publicar un comentario
Puedes comentar como te gustaría que comenten de ti.