2014-01-21 86 views
1

我在我的項目中實現了使用Symfony2和FOSUser綁定的ajax登錄,以便用戶可以通過模式窗口(使用AJAX並構建自己的處理程序)登錄。Symfony2 ajax用戶註冊

我現在想要做同樣的事情,但註冊。我希望新用戶通過模式窗口註冊並通過AJAX觸發註冊處理程序。

我找不到註冊處理程序繼承... 這是possbile?有任何想法嗎?

感謝

+0

有什麼問題嗎?你在找什麼「處理器」?請提供更多信息。 FOSUserBundle中90%的註冊過程發生在[RegistrationController](https://github.com/FriendsOfSymfony/FOSUserBundle/blob/master/Controller/RegistrationController.php)中。 – nifr

+0

嗨nifr,問題是我該如何處理通過模態形式的用戶註冊?這有可能以任何方式?對於登錄我跟着這個http://stackoverflow.com/questions/8607212/symfony2-ajax-login和它的工作 – Anto

回答

0

你必須執行,你在認證成功的情況下,要驗證處理程序類巫婆您重定向。

services.yml

parameters: 
    authentication_handler_class: Namespace\authenticationHandlerClass 

services: 
    authentication_handler: 
     class: %authentication_handler_class% 
     arguments: [@router] 
     tags: 
      - { name: 'monolog.logger', channel: 'security' } 

authenticationHandlerClass

<?php 

use Symfony\Component\HttpFoundation\RedirectResponse; 
use Symfony\Bundle\FrameworkBundle\Routing\Router; 
use Symfony\Component\Security\Core\Authentication\Token\TokenInterface; 
use Symfony\Component\HttpFoundation\Request; 
use Symfony\Component\Security\Http\Authentication\AuthenticationSuccessHandlerInterface; 

class AuthenticationHandler implements AuthenticationSuccessHandlerInterface 
{ 
    private $router; 

    public function __construct(Router $router) 
    { 
     $this->router = $router; 
    } 

    public function onAuthenticationSuccess(Request $request, TokenInterface $token) 
    { 
     $url = $this->router->generate('nameofmyroute'); 
     return new RedirectResponse($url); 
    } 
} 
+2

這允許身份驗證,但我需要的是註冊新用戶。 – Anto