2014-04-08 77 views
1

這是我的第一個SF2項目,雖然這個框架很容易學習(我來自codeIgniter),但仍然有我不流利的高級用法。FosUserBundle如何ajax登錄

這是事情。 Fos userBundle已安裝,工作正常,我已覆蓋登錄,註冊,簽出表單。

我想用ajax登錄,並且...我完全迷失了。我相信我應該超載SecurityController這樣:

<?php 
namespace BioMeta\UserBundle\Controller; 

use FOS\UserBundle\Controller\SecurityController as BaseController; 

class SecurityController extends BaseController 
{ 
    public function checkAction() 
    { 
     die('pooh'); 
    } 
} 

但是,它不工作...

回答

0

是您的用戶集合設置,使其在FOS \ UserBundle的孩子管束?

//src/BioMeta/UserBundle/BioMetaUserBundle.php 

public function getParent() 
{ 
    return 'FOSUserBundle'; 
} 

看一看文檔如何覆蓋控制器:https://symfony.com/doc/master/bundles/FOSUserBundle/overriding_controllers.html

它看起來像你正試圖重寫checkAction。檢查操作不由FOSUserBundle處理,它由Symfony直接處理。它只是在那裏提醒你確保登錄路徑是正確設置的。

您應該能夠覆蓋該控制器中的任何其他功能。

確保你重寫文件

+0

是清楚後您的開發緩存! (重載表單工作得很好),我跟着文檔,我不明白爲什麼它不工作... 是的,緩存:清除是我嘗試的第一個瘦:p – user3512344

+0

它可能是工作,你只是不能改變checkAction因爲它實際上並沒有被調用。 Symfony處理該檢查。 – Chausser