Foros del Web » Programando para Internet » PHP » Symfony »

[SOLUCIONADO] Login Symfony2.1

Estas en el tema de Login Symfony2.1 en el foro de Symfony en Foros del Web. Hola, estoy desde hace un par de días intentado crear un login simple, he probado el FOSUserBundle pero me fué todavía peor ya que me ...
  #1 (permalink)  
Antiguo 19/02/2013, 09:03
 
Fecha de Ingreso: enero-2012
Mensajes: 64
Antigüedad: 12 años, 10 meses
Puntos: 0
Pregunta Login Symfony2.1

Hola, estoy desde hace un par de días intentado crear un login simple, he probado el FOSUserBundle pero me fué todavía peor ya que me daban mucho errores.

He conseguido que acceda con los usuarios en memoria "admin" pero con los usuarios de la base de datos me dice siempre bad credentials, y lo estoy metiendo correctamente. No sé que ocurre, os dejo los fuentes:

Clase Users:
Código PHP:
<?php

namespace cosmonautasPortadaBundleEntity
;

use 
SymfonyComponentSecurityCoreUserUserInterface;
use 
DoctrineORMMapping as ORM;

/**
 * Users
 */
class Users implements UserInterface
{
    
/**
     * @var integer
     */
    
private $id;

    
/**
     * @var string
     */
    
private $login;

    
/**
     * @var string
     */
    
private $password;
    
/**
     * @var \DateTime
     */
    
private $createdat;

    
/**
     * @var string
     */
    
private $name;

    
/**
     * @var string
     */
    
private $lastname;

    
/**
     * Set id
     *
     * @param integer $id
     * @return Users
     */
    
public function setId($id)
    {
        
$this->id $id;
    
        return 
$this;
    }

    
/**
     * Get id
     *
     * @return integer 
     */
    
public function getId()
    {
        return 
$this->id;
    }

    
/**
     * Set login
     *
     * @param string $login
     * @return Users
     */
    
public function setLogin($login)
    {
        
$this->login $login;
    
        return 
$this;
    }

    
/**
     * Get login
     *
     * @return string 
     */
    
public function getLogin()
    {
        return 
$this->login;
    }

    
/**
     * Set password
     *
     * @param string $password
     * @return Users
     */
    
public function setPassword($password)
    {
        
$this->password $password;
    
        return 
$this;
    }

    
/**
     * Get password
     *
     * @return string 
     */
    
public function getPassword()
    {
        return 
$this->password;
    }

    
/**
     * Get createdat
     *
     * @return \DateTime 
     */
    
public function getCreatedat()
    {
        return 
$this->createdat;
    }

    
/**
     * Set name
     *
     * @param string $name
     * @return Users
     */
    
public function setName($name)
    {
        
$this->name $name;
    
        return 
$this;
    }

    
/**
     * Get name
     *
     * @return string 
     */
    
public function getName()
    {
        return 
$this->name;
    }

    
/**
     * Set lastname
     *
     * @param string $lastname
     * @return Users
     */
    
public function setLastname($lastname)
    {
        
$this->lastname $lastname;
    
        return 
$this;
    }

    
/**
     * Get lastname
     *
     * @return string 
     */
    
public function getLastname()
    {
        return 
$this->lastname;
    }
    
    
/**
     * @var string
     */
    
private $salt;

    
/**
     * @var boolean
     */
    
private $isactived;

    
/**
     * @var \cosmonautas\PortadaBundle\Entity\Roles
     */
    
private $roles;


    
/**
     * Set salt
     *
     * @param string $salt
     * @return Users
     */
    
public function setSalt($salt)
    {
        
$this->salt $salt;
    
        return 
$this;
    }

    
/**
     * Get salt
     *
     * @return string 
     */
    
public function getSalt()
    {
        return 
$this->salt;
    }

    
/**
     * Set isactived
     *
     * @param boolean $isactived
     * @return Users
     */
    
public function setIsactived($isactived)
    {
        
$this->isactived $isactived;
    
        return 
$this;
    }

    
/**
     * Get isactived
     *
     * @return boolean 
     */
    
public function getIsactived()
    {
        return 
$this->isactived;
    }

    
/**
     * Set roles
     *
     * @param \cosmonautas\PortadaBundle\Entity\Roles $roles
     * @return Users
     */
    
public function setRoles(cosmonautasPortadaBundleEntityRoles $roles null)
    {
        
$this->roles $roles;
    
        return 
$this;
    }

    
/**
     * Get roles
     *
     * @return \cosmonautas\PortadaBundle\Entity\Roles 
     */
    
public function getRoles()
    {
        return 
$this->roles;
    }
    
    public function 
setUsername($username)
    {
        
$this->login $username;
    }
 
    public function 
getUsername()
    {
        return 
$this->login;
    }
 
    public function 
eraseCredentials()
    {
 
    }
 
    public function 
equals(UserInterface $user)
    {
        return 
$user->getUsername() == $this->getUsername();
    }    
    
    public function 
__construct() 
    { 
        
$this->isActive true
        
$this->salt base_convert(sha1(uniqid(mt_rand(), true)), 1636); 
    }    
}
Clase Roles:

Código PHP:
<?php

namespace cosmonautasPortadaBundleEntity
;
use 
SymfonyComponentSecurityCoreRoleRoleInterface;

use 
DoctrineORMMapping as ORM;

/**
 * Roles
 */
class Roles implements RoleInterface
{
    
/**
     * @var integer
     */
    
private $id;

    
/**
     * @var string
     */
    
private $rol;


    
/**
     * Get id
     *
     * @return integer 
     */
    
public function getId()
    {
        return 
$this->id;
    }

    
/**
     * Set rol
     *
     * @param string $rol
     * @return Roles
     */
    
public function setRol($rol)
    {
        
$this->rol $rol;
    
        return 
$this;
    }

    
/**
     * Get rol
     *
     * @return string 
     */
    
public function getRol()
    {
        return 
$this->rol;
    }
    
    public function 
__toString()
    {
      return 
$this->getRol();
    }       
    
    public function 
getRole()
    {
        return 
$this->rol;
    }    
}
Security.yml:
Código PHP:
jms_security_extra:
    
secure_all_servicesfalse
    expressions
true

security
:
    
encoders:
        
SymfonyComponentSecurityCoreUserUserplaintext
        cosmonautasPortadaBundleEntityUsers
:
            
algorithm:   sha1
            iterations
1
            encode_as_base64
false

    role_hierarchy
:
        
ROLE_ADMIN:       ROLE_USER
        ROLE_SUPER_ADMIN
: [ROLE_USERROLE_ADMINROLE_ALLOWED_TO_SWITCH]

    
providers:
        
chain_provider:
            
chain:
                
providers: [in_memoryuser_db]
        
in_memory:
            
memory:
                
users:
                    
admin: { passwordvelazquez118roles: [ 'ROLE_ADMIN' ] }
        
user_db:
            
entity: { class: cosmonautasPortadaBundleEntityUserspropertylogin }
    
firewalls:
        
secured_area:
            
pattern:    ^/
            
anonymous: ~
            
form_login:
              
login_path: /login
              check_path
: /login_check
            
    access_control
:
        
#- { path: ^/login, roles: ROLE_USER }
        #
        # You must uncomment the two following rules to restrict access to paths
        # starting with the /_internal prefix to only localhost
        #- { path: ^/_internal/secure, roles: IS_AUTHENTICATED_ANONYMOUSLY, ip: 127.0.0.1 }
        #- { path: ^/_internal/secure, roles: ROLE_NO_ACCESS } 
El formulario es el típico, no merece la pena que lo ponga.

Muchas gracias de antemano.
  #2 (permalink)  
Antiguo 19/02/2013, 09:37
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 10 meses
Puntos: 845
Respuesta: Login Symfony2.1

El formulario es importante, porque el sistema espera determinados nombres en los campos del form, estas utilizando los que vienen por defecto en la config o bien los has configurado correctamente ?, fuera de esto FOSUserBundle es por lejos el bundle mas utilizado y si sigues los pasos al pie de la letra de su documentación no deberías tener problemas en configurarlo correctamente.
__________________
http://es.phptherightway.com/
thats us riders :)
  #3 (permalink)  
Antiguo 19/02/2013, 09:47
 
Fecha de Ingreso: enero-2012
Mensajes: 64
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Login Symfony2.1

El formulario es este:

Código:
<div class="form">
                {% if error %}
                    <div>{{ error.message }}</div>
                {% endif %}
                <form name="login" action="{{ path('login_check') }}" method="post">
                    <label for="username">Usuario:</label>
                    <input type="text" id="username" name="_username" value="{{ last_username }}" />

                    <label for="password">Contraseña:</label>
                    <input type="password" id="password" name="_password" />

                    <p class="submit"><a href="#" onclick="submitForm('login')"></a></p>
                    <span class="footer"><a href="#">¿No puedes acceder?</a></span>
                    <span class="footer"><a href="{{ path('users_new') }}">Registrate aquí</a></span>
                </form>                    
            </div>
Y el controlador este por si acaso:

Código:
    public function indexAction()
    {
        $em = $this->getDoctrine()->getManager();
        $request = $this->getRequest();
        $session = $request->getSession();
        
        $entities = $em->getRepository('PortadaBundle:Notices')->findAll();
        
        $form = $this->createForm(new UsersType());
        
        // Check login authentication
        if ($request->attributes->has(SecurityContext::AUTHENTICATION_ERROR)) {
                $error = $request->attributes->get(SecurityContext::AUTHENTICATION_ERROR);
        } else {
                $error = $session->get(SecurityContext::AUTHENTICATION_ERROR);
        }
        

        return $this->render('PortadaBundle:Notices:index.html.twig', array('entities' => $entities,
                                                                            'section'  => 'Portada',
                                                                            'form'     => $form->createView(),
                                                                            'last_username' => $session->get(SecurityContext::LAST_USERNAME),
                                                                            'error'         => $error
                                                                            ));
    }
El error que me da al configurar el FOSUserBundle es respecto a la entidad user cuando la exteniendo de la UserBase, el error exactamente es:

Fatal error: Access level to FOS\UserBundle\Entity\User::$username must be protected (as in class FOS\UserBundle\Model\User) or weaker in C:\xampp\htdocs\cosmonautas\vendor\friendsofsymfon y\user-bundle\FOS\UserBundle\Entity\User.php on line 17

Es una clase del propio Bundle...

Gracias por responder!!
  #4 (permalink)  
Antiguo 19/02/2013, 12:29
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 10 meses
Puntos: 845
Respuesta: Login Symfony2.1

El form parece correcto, solo te queda debugear, comprueba los logs a ver si te dan alguna pista, en relación a FOS, no se como lo instalaste, los pasos que has seguido o que versión estas utilizando, pero la clase del error es abstracta y no tiene ninguna propiedad declarada https://github.com/FriendsOfSymfony/...ntity/User.php

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #5 (permalink)  
Antiguo 19/02/2013, 16:50
 
Fecha de Ingreso: enero-2012
Mensajes: 64
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Login Symfony2.1

Ok, voy a darle al DEBUG y te cuento. He estado buscando información acerca de del FOS y alomejor no he seguido los mejores pasos. ¿Puedes indicarme algún manual que conozcas que funcione correctamente?

Yo creo haber seguido la documentación oficial, es posible que me haya confundido.

Gracias de antemano.
  #6 (permalink)  
Antiguo 19/02/2013, 17:13
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 10 meses
Puntos: 845
Respuesta: Login Symfony2.1

La doc es la del repo https://github.com/FriendsOfSymfony/...s/doc/index.md, personalmente lo utilizo hace tiempo y nunca he tenido problemas.

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #7 (permalink)  
Antiguo 20/02/2013, 02:25
 
Fecha de Ingreso: enero-2012
Mensajes: 64
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Login Symfony2.1

Hola de nuevo,

Tratando de configurar correctamente el FOS, me he encontrado que la clase abstracta de User.php en mi FOS no estaba vacía. Es lo primero que he hecho.

Después de volver a realizar todos los pasos, me he encontrado con un error en el método de setRoles(). Éste recibe un array (en la entidad del FOS) y yo le mando un objeto tipo ROL de mi entidad. La pregunta es simple, se pueden establecer los roles mediante DOCTRINE o se tiene que añadir en un array? Y si esto fuera, en que momento se configuran los roles para cada usuario?

Muchas gracias!!
Saludos
  #8 (permalink)  
Antiguo 20/02/2013, 05:57
 
Fecha de Ingreso: enero-2012
Mensajes: 64
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Login Symfony2.1

Sigo peleando con el Login, ya que no hay forma de hacerlo funciona.

Mi problema esta ahora con mi entidad Users.php la cual necesito que tenga estos propiedades. Bien, a la hora de usar el FOS debo quitar todas las propiedades para que no de un error de mapping. Eso ya lo he hecho. Pero ahora parece que también tengo que tener en la tabla de la base de datos todas las propiedades de la entidad User de FOS de la cual hereda mi entidad. ¿Esto es así? ¿No se puede personalizar?

Muchas gracias!!! A ver si lo consigo de una vez...

Saludos!
  #9 (permalink)  
Antiguo 20/02/2013, 06:33
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 10 meses
Puntos: 845
Respuesta: Login Symfony2.1

Para que la entidad del rol ?, solo tienes que enviarle un string(ROLE_*), por defecto se le asigna el rol ROLE_USER, de todas formas te dejo una referencia a como hacerlo, http://blog.jmoz.co.uk/symfony2-fosu...-role-entities, en relación a cuando configurarlo, cuando creas conveniente, no es mas que un array al que le agregas strings, al final de la doc tienes un apartado sobre como sobrescribir a FOS, puedes sobrescribir el controller, el manager, el user, utilizar eventos, etc.

En relación a las propiedades, si extiendes de la clase base de FOS tienes que mantener las propiedades, es por el mapeo, pero nada te impide agregar nuevas propiedades, obviamente estas nuevas propiedades debes mapearlas.

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #10 (permalink)  
Antiguo 20/02/2013, 09:57
 
Fecha de Ingreso: enero-2012
Mensajes: 64
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Login Symfony2.1

Poco a poco voy entiendo...La Entidad Rol la he eliminado puesto que no sirve de mucho.

Ahora he generado la entidad Users sólo con los campos "extra" que yo necesito y los otros los obtengo de la entidad de FOS, si no estoy en lo cierto corrígeme por favor.

Como dice en la documentación he realizado el update del esquema y yo pensé que esto me generaría los campos en la tabla de la BBDD y no ha sido así. Con esto me saltan nuevas dudas, como ¿dónde se guardará el password, el name, username, etc?

Además al intentar logarme me salta el siguiente error:

Unrecognized field: usernameCanonical

Gracias!
  #11 (permalink)  
Antiguo 20/02/2013, 10:18
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 10 meses
Puntos: 845
Respuesta: Login Symfony2.1

Te debe crear 3 tablas, fos_user_user, fos_user_group y fos_user_user_group, el problema que tienes ahora es porque no esta levantando la metadata, has registrado el bundle en AppKernel ?
__________________
http://es.phptherightway.com/
thats us riders :)
  #12 (permalink)  
Antiguo 21/02/2013, 02:08
 
Fecha de Ingreso: enero-2012
Mensajes: 64
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Login Symfony2.1

Si, el bundle está registrado.

Se me ocurre, que yo tengo la BBDD ya creada y suelo hacer los pasos al reves, mapeo y creo las entidades de la ya existente BBDD. ¿Eso influye en algo?

Sino, no entiendo porque no funciona correctamente...

Saludos
  #13 (permalink)  
Antiguo 21/02/2013, 02:48
 
Fecha de Ingreso: enero-2012
Mensajes: 64
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Login Symfony2.1

Ya sé lo que ocurre. El problema es que yo no tengo los metadatos de las clases de FOS. Hay algún comando que te genere los metadata desde las entidades o hay que hacerlo a mano. Digo esto porque al meter el doctrine:metadata:info me ha dicho que esta correctamente mapeadas las entidades de FOS, pero al realizar el UPDATE me dice que la base de datos está sincronizada correctamente, evidentemente los metadata que tengo y la BBDD son iguales...solo falta añadir las tablas que me has comentado de las cuales no tengo metadatos.

¿Que debo de hacer en esta situación?

Gracias!
  #14 (permalink)  
Antiguo 21/02/2013, 16:58
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 10 meses
Puntos: 845
Respuesta: Login Symfony2.1

La metadata de FOS viene con el bundle, por eso la pregunta de si lo habías instanciado en AppKernel, es muy extraño que lo veas en doctrine:mapping:info y no te actualice la bbdd, te sugiero que comiences de 0 en un proyecto a parte y veas si te ocurre lo mismo ya que no es lo normal, que doctrine vea la metadata de la entidad pero no te sincronice la bbdd.

Por las dudas, como tienes el mapeo de las entidades en el config.yml ?

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #15 (permalink)  
Antiguo 22/02/2013, 05:18
 
Fecha de Ingreso: enero-2012
Mensajes: 64
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Login Symfony2.1

Mira te dejo el config.yml:

Código:
imports:
    - { resource: parameters.yml }
    - { resource: security.yml }

framework:
    #esi:             ~
    #translator:      { fallback: "%locale%" }
    secret:          "%secret%"
    router:
        resource: "%kernel.root_dir%/config/routing.yml"
        strict_requirements: "%kernel.debug%"
    form:            true
    csrf_protection: true
    validation:      { enable_annotations: true }
    templating:      { engines: ['twig'] } #assets_version: SomeVersionScheme
    default_locale:  "%locale%"
    trust_proxy_headers: false # Deprecated in 2.0; will be removed in 2.3 (used trusted_proxies instead)
    trusted_proxies: ~
    session:         ~

# Twig Configuration
twig:
    debug:            "%kernel.debug%"
    strict_variables: "%kernel.debug%"

# Assetic Configuration
assetic:
    debug:          "%kernel.debug%"
    use_controller: false
    bundles:        [ ]
    #java: /usr/bin/java
    filters:
        cssrewrite: ~
        #closure:
        #    jar: "%kernel.root_dir%/Resources/java/compiler.jar"
        #yui_css:
        #    jar: "%kernel.root_dir%/Resources/java/yuicompressor-2.4.7.jar"

# Doctrine Configuration
doctrine:
    dbal:
        driver:   "%database_driver%"
        host:     "%database_host%"
        port:     "%database_port%"
        dbname:   "%database_name%"
        user:     "%database_user%"
        password: "%database_password%"
        charset:  UTF8

    orm:
        auto_generate_proxy_classes: "%kernel.debug%"
        auto_mapping: true

# Swiftmailer Configuration
swiftmailer:
    transport: "%mailer_transport%"
    host:      "%mailer_host%"
    username:  "%mailer_user%"
    password:  "%mailer_password%"
    spool:     { type: memory }

# FOSUserBundle
fos_user:
    # tipo de ORM/ODB que utilizas (también puede ser 'mongodb', 'couchdb' y 'propel')
    db_driver:     orm
    # el nombre de tu firewall
    firewall_name: main
    # el namespace de tu clase 'User' específica
    user_class:    cosmonautas\PortadaBundle\Entity\Users
Lo de empezar un proyecto nuevo... creo que va a ser lo mejor ya que no lo tengo muy avanzado y a ver si es algo raro que ha pasado. Es difícil de entender.

Te cuento a ver que pasa.

Saludos

Última edición por Luvelnet; 22/02/2013 a las 05:24
  #16 (permalink)  
Antiguo 11/03/2013, 03:20
 
Fecha de Ingreso: enero-2012
Mensajes: 64
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Login Symfony2.1

Hola, de nuevo estoy por aquí...

Después de dar unas cuantas vueltas he conseguido hacer funcionar la parte del Login de usuario con el FOS. Como hablamos empecé un nuevo proyecto he hice todo desde 0.

Voy a explicar brevemente por si alguién le pasa lo mísmo. En la documentación usan annotation y yo uso YML para mapear con Doctrine. Por lo que a parte de lo que dice en la documentación tienes que tener tu fichero de mapping "User.orm.yml" ya que sino te dice que no existe y te da error. Hecho esto y siguiendo los pasos de la docu te genera la tabla User con los campos correspondientes más lo que tu hayas querido añadir en el fichero antes mencionado.

Ahora bien, he intentado hacer lo mísmo con los grupos (roles) y parece que no me lo ha hecho del todo correcto. Tengo la tabla "group" y también la tabla "fos_user_user_group" pero en la tabla group sólo tengo el Id, sin un campo "group" o "roles" que es como imagino que debería ser. Evidentemente yo en mi fichero "Group.orm.yml" sólo he mapeado el campo Id, los otros debería obtenerlos del mapping del FOS pero no ha funcionado. En el mapping:info aparece como mapeada la entidad. En el "User.orm.yml" añadí la relación manyToMany.

¿Tenéis alguna idea de porque me ha pasado esto nuevamente?
  #17 (permalink)  
Antiguo 11/03/2013, 06:03
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 10 meses
Puntos: 845
Respuesta: Login Symfony2.1

Es que no es necesario mapear en yml, de hecho yo no lo hago, el problema creo que esta en el auto_mapping, intenta declarar de forma explicita el mapping, algo así:

Código YML:
Ver original
  1. doctrine:
  2.     orm:
  3.         auto_generate_proxy_classes: "%kernel.debug%"
  4.         entity_managers:
  5.             default:
  6.                 mappings:
  7.                     ApplicationUserBundle: ~
  8.                     FOSUserBundle: ~

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #18 (permalink)  
Antiguo 12/03/2013, 02:44
 
Fecha de Ingreso: enero-2012
Mensajes: 64
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Login Symfony2.1

Imagino que no es necesario cuando se usa annotation, hablo desde el desconocimiento, lo digo porque en cuanto me falta algún fichero de los "orm.yml" lo detecta y me salta un error:

MappingException: No mapping file found named 'src\blogBundle\Resources\config\doctrine/User.orm.yml' for class '\blogBundle\Entity\User'.

De acuerdo con esto, me salta una pregunta, puedo usar YML y ANNOTATION indistintamente dentro de un proyecto para mapear, si es así utilizo annotation para FOS y resuelto el problema. Si no, ¿como podría evitar este error? Y ya que estamos, cual recomiendas de los dos, YML o ANNOTATION?

Un saludo
  #19 (permalink)  
Antiguo 12/03/2013, 07:51
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 10 meses
Puntos: 845
Respuesta: Login Symfony2.1

Limpiaste el cache luego de hacer la modificación ?, la regla es un tipo de mapeo por bundle, osea puedes utilizar YML o Annotation pero no los dos en un mismo bundle, en cuanto a cual es mejor, es prácticamente lo mismo, se utiliza Annotation cuando únicamente vas a trabajar con Doctrine, en cambio si quieres que dejar abierta la posibilidad a otro ORM o bien no te gusta la metadata en las entidades es mejor utilizar YML o XML, en lo personal por RAD utilizo Annotation.
__________________
http://es.phptherightway.com/
thats us riders :)
  #20 (permalink)  
Antiguo 13/03/2013, 03:48
 
Fecha de Ingreso: enero-2012
Mensajes: 64
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Login Symfony2.1

Por fin!! Ya he conseguido mapear correctamente todas las tablas y funciona todo correctamente.

Dejo claro, que si usas YML como mapeo de la base de datos necesitarás crear los ficheros orm.yml para que te funcione, si no te dará error, al menos desde mi experiencia.

Ahora lo único con lo que me quedo es como añadir un ROL a un Usuario, ya que he greado un grupo de name "Admin" y Otro "User", ahora quiero establecer los roles a los usuarios y no se como, pensé que desde la interfaz del FOS me dejaría administrar esto...

Gracias por todo.
  #21 (permalink)  
Antiguo 13/03/2013, 07:34
Avatar de masterpuppet
Software Craftsman
 
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 3.550
Antigüedad: 16 años, 10 meses
Puntos: 845
Respuesta: Login Symfony2.1

Evidentemente si utilizas yml o xml tienes que crear los ficheros, y FOS perse no tiene interfaz web para administrar los usuarios, lo puedes hacer desde el CLI, de todas formas si esta integrado en Sonata, a través de SonataUserBundle, ten en cuenta que esto implica instalar unos cuantos bundles(Admin, DoctrineORMAdmin, Intl, Formatter, etc...).

Saludos.
__________________
http://es.phptherightway.com/
thats us riders :)
  #22 (permalink)  
Antiguo 22/03/2013, 02:59
 
Fecha de Ingreso: enero-2012
Mensajes: 64
Antigüedad: 12 años, 10 meses
Puntos: 0
Respuesta: Login Symfony2.1

Muchas gracias por todo, de momento doy el tema por resuelto ya que me funciona todo lo que necesitaba. Aun así seguiré aprendiendo e investigando.

Un saludo

Etiquetas: login
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:38.