Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/12/2013, 14:51
molinasergio91
 
Fecha de Ingreso: enero-2013
Ubicación: Santa Fe, VT
Mensajes: 68
Antigüedad: 11 años, 3 meses
Puntos: 2
Problema con Login

Estoy intentando hacer un formulario de login y no puedo hacer que funcione, busque en google varias soluciones pero no me responde nada y la verdad es que no entiendo por que no funciona, intente hacerlo como el Cookbook dice pero no funciona

Mi codigo:

Controlador y metodo del login

Código PHP:
namespace PlayIBundleController;

use 
SymfonyBundleFrameworkBundleControllerController;
use 
SymfonyComponentHttpFoundationRequest;
use 
SymfonyComponentSecurityCoreSecurityContext;

class 
SecurityController extends Controller
{

    public function 
loginAction() 
    {
        
$request $this->getRequest();
        
$session $request->getSession();

        
// obtiene el error de inicio de sesión si lo hay
        
if ($request->attributes->has(SecurityContext::AUTHENTICATION_ERROR)) {
            
$error $request->attributes->get(
                
SecurityContext::AUTHENTICATION_ERROR
            
);
        } else {
            
$error $session->get(SecurityContext::AUTHENTICATION_ERROR);
            
$session->remove(SecurityContext::AUTHENTICATION_ERROR);
        }

        return 
$this->render(
            
'PlayIBundle:Security:login.html.twig',
            array(
                
// último nombre de usuario ingresado
                
'last_username' => $session->get(SecurityContext::LAST_USERNAME),
                
'error'         => $error,
            )
        );
    }
    


El security.yml

Código YML:
Ver original
  1. security:
  2.     encoders:
  3.         Symfony\Component\Security\Core\User\User: plaintext
  4.        
  5.         Play\IBundle\Entity\User: sha512
  6.  
  7.     role_hierarchy:
  8.         ROLE_ADMIN:       ROLE_USER
  9.         ROLE_SUPER_ADMIN: [ROLE_USER, ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]
  10.  
  11.     providers:
  12.         main:
  13.             entity: { class: Play\IBundle\Entity\User, property: username }
  14.  
  15.  
  16.     firewalls:
  17.         dev:
  18.             pattern:  ^/(_(profiler|wdt)|css|images|js)/
  19.             security: false
  20.         login_firewall:
  21.             pattern:    /login$
  22.             security: false
  23.        
  24.         secured_area:
  25.             pattern:    ^/user/manager
  26.             anonymous: ~
  27.             form_login:
  28.                 login_path: login
  29.                 check_path: login_check
  30.                
  31.             logout:
  32.                 path:   _logout
  33.                 target: /
  34.             #anonymous: ~
  35.             #http_basic:
  36.             #    realm: "Secured Demo Area"
  37.            
  38.          
  39.            
  40.  
  41.     access_control:
  42.         - { path: ^/user/manager/login$, roles: IS_AUTHENTICATED_ANONYMOUSLY }
  43.         - { path: ^/login$, roles: IS_AUTHENTICATED_ANONYMOUSLY }
  44.         - { path: ^/login_check$, roles: IS_AUTHENTICATED_ANONYMOUSLY }
  45.         - { path: ^/user/manager, roles: ROLE_USER }
  46.         #- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY, requires_channel: https }

y el routing.yml

Código YML:
Ver original
  1. play_i_homepage:
  2.     pattern:  /hello/{name}
  3.     defaults: { _controller: PlayIBundle:Default:index }
  4.  
  5. registro:
  6.     pattern: /registrarse
  7.     defaults: { _controller: PlayIBundle:Default:registro }
  8.    
  9. account_create:
  10.     pattern: /cuenta_creada
  11.     defaults: { _controller: PlayIBundle:Default:creado }
  12.    
  13. login:
  14.     pattern: /login
  15.     defaults: {_controller: PlayIBundle:Security:login }
  16.    
  17. login_check:
  18.     pattern: /login_check
  19.    
  20. _user_manager:
  21.     pattern: /user/manager
  22.     defaults: {_controller: PlayIBundle:User:Cpanel }
  23.    
  24. _logout:
  25.     pattern: /logout

El cookBook dice que el Login_check debe estar detras de un firewall, esa parte es la que no entiendo a que se refiere, intente hacerlo por mi mismo pero no pude por eso tube que abrir el mensaje para saber si alguien puede aclararme esta duda