clase 15 fos

14
FOSUserBundle Realizada por: Christian Aquino |@cj_aquino Diego Ramirez |@thedarsideofit Gonzalo Alonso |@GonzaloAlonsoD Diego Barros |@Inmzombie Para: Hydras C&S |@hydras_cs Basada en Libro Symfony 2 en español Nacho Pacheco y The Book

Upload: hydrascs

Post on 18-Dec-2014

359 views

Category:

Technology


1 download

DESCRIPTION

www.hydrascs.com

TRANSCRIPT

Page 1: Clase 15 FOS

FOSUserBundle

Realizada por:Christian Aquino |@cj_aquinoDiego Ramirez |@thedarsideofitGonzalo Alonso |@GonzaloAlonsoDDiego Barros |@Inmzombie

Para: Hydras C&S |@hydras_csBasada en Libro Symfony 2 en español Nacho Pacheco y The Book

Page 2: Clase 15 FOS

¿Qué es FOSUser?

FOSUserBundle actúa en la parte superior del marco de seguridad proporcionado por Symfony, para que este sea rápido y fácil de almacenar usuarios en una base de datos.

Page 3: Clase 15 FOS

Instalando FOSUser{

"require": {

"friendsofsymfony/user-bundle": "*"

}

}

$ php composer.phar update

friendsofsymfony/user-bundle

Page 4: Clase 15 FOS

<?php

// app/AppKernel.php

public function registerBundles()

{

$bundles = array(

// ...

new FOS\UserBundle\FOSUserBundle(),

);

}

Page 5: Clase 15 FOS

<?php

// src/Acme/UserBundle/Entity/User.php

namespace Acme\UserBundle\Entity;

use FOS\UserBundle\Entity\User as BaseUser;

use Doctrine\ORM\Mapping as ORM;

/**

* @ORM\Entity

* @ORM\Table(name="fos_user")

*/

class User extends BaseUser

Page 6: Clase 15 FOS

{

/**

* @ORM\Id

* @ORM\Column(type="integer")

* @ORM\GeneratedValue(strategy="AUTO")

*/

protected $id;

public function __construct()

{

parent::__construct();

}

}

Page 7: Clase 15 FOS

# app/config/security.yml

security:

encoders:

FOS\UserBundle\Model\UserInterface:

sha512

role_hierarchy:

ROLE_ADMIN: ROLE_USER

ROLE_SUPER_ADMIN: ROLE_ADMIN

providers:

fos_userbundle:

id: fos_user.user_provider.username

Page 8: Clase 15 FOS

firewalls:

main:

pattern: ^/

form_login:

provider: fos_userbundle

csrf_provider: form.csrf_provider

logout: true

anonymous: true

Page 9: Clase 15 FOS

access_control:

- { path: ^/login$, role:

IS_AUTHENTICATED_ANONYMOUSLY }

- { path: ^/register, role:

IS_AUTHENTICATED_ANONYMOUSLY }

- { path: ^/resetting, role:

IS_AUTHENTICATED_ANONYMOUSLY }

- { path: ^/admin/, role: ROLE_ADMIN }

Page 10: Clase 15 FOS

# app/config/config.yml

fos_user:

db_driver: orm # other valid values are

'mongodb', 'couchdb' and 'propel'

firewall_name: main

user_class: Acme\UserBundle\Entity\User

Page 11: Clase 15 FOS

# app/config/routing.yml

fos_user_security:

resource:

"@FOSUserBundle/Resources/config/routing/sec

urity.xml"

fos_user_profile:

resource:

"@FOSUserBundle/Resources/config/routing/prof

ile.xml"

prefix: /profile

Page 12: Clase 15 FOS

fos_user_register:

resource:

"@FOSUserBundle/Resources/config/routing/regi

stration.xml"

prefix: /register

fos_user_resetting:

resource:

"@FOSUserBundle/Resources/config/routing/rese

tting.xml"

prefix: /resetting

Page 13: Clase 15 FOS

fos_user_change_password:

resource:

"@FOSUserBundle/Resources/config/routing/cha

nge_password.xml"

prefix: /profile