Symfony 禁用SonataUserBundle/FosuserBundle的路由
我希望在我的sf2项目中自定义身份验证链接,我使用SonataAdmin SonataUserBundle(后端)和FosuserBundle+HWIOAuthBundle(facebook登录),我创建了一个accoutbundle捆绑包,这是我的控制器:Symfony 禁用SonataUserBundle/FosuserBundle的路由,symfony,Symfony,我希望在我的sf2项目中自定义身份验证链接,我使用SonataAdmin SonataUserBundle(后端)和FosuserBundle+HWIOAuthBundle(facebook登录),我创建了一个accoutbundle捆绑包,这是我的控制器: class ConnectController extends Controller { public function loginAction() { //login code $request = $this->
class ConnectController extends Controller
{
public function loginAction()
{
//login code
$request = $this->container->get('request');
/* @var $request \Symfony\Component\HttpFoundation\Request */
$session = $request->getSession();
/* @var $session \Symfony\Component\HttpFoundation\Session\Session */
// get the error if any (works with forward and redirect -- see below)
if ($request->attributes->has(SecurityContext::AUTHENTICATION_ERROR)) {
$error = $request->attributes->get(SecurityContext::AUTHENTICATION_ERROR);
} elseif (null !== $session && $session->has(SecurityContext::AUTHENTICATION_ERROR)) {
$error = $session->get(SecurityContext::AUTHENTICATION_ERROR);
$session->remove(SecurityContext::AUTHENTICATION_ERROR);
} else {
$error = '';
}
.....
要创建我自己的登录页面,这里是我的app/config/routing.yml:
admin:
resource: '@SonataAdminBundle/Resources/config/routing/sonata_admin.xml'
prefix: /admin
_sonata_admin:
resource: .
type: sonata_admin
prefix: /admin
sonata_user_security:
resource: "@SonataUserBundle/Resources/config/routing/sonata_security_1.xml"
sonata_user_resetting:
resource: "@SonataUserBundle/Resources/config/routing/sonata_resetting_1.xml"
prefix: /resetting
sonata_user_profile:
resource: "@SonataUserBundle/Resources/config/routing/sonata_profile_1.xml"
prefix: /profile
sonata_user_register:
resource: "@SonataUserBundle/Resources/config/routing/sonata_registration_1.xml"
prefix: /register
sonata_user_change_password:
resource: "@SonataUserBundle/Resources/config/routing/sonata_change_password_1.xml"
prefix: /profile
sonata_user:
resource: '@SonataUserBundle/Resources/config/routing/admin_security.xml'
prefix: /admin
#HWIOAuthBundle routes
hwi_oauth_security:
resource: "@HWIOAuthBundle/Resources/config/routing/login.xml"
prefix: /login
hwi_oauth_connect:
resource: "@HWIOAuthBundle/Resources/config/routing/connect.xml"
prefix: /login
hwi_oauth_redirect:
resource: "@HWIOAuthBundle/Resources/config/routing/redirect.xml"
prefix: /login
facebook_login:
pattern: /login/check-facebook
facebook_connect:
pattern: /login/facebook
account_connect:
pattern: /connect
defaults: { _controller: AcmeAccountBundle:Connect:login } //personalized link does not work
所以问题是登录页面/app_dev.php/login it的链接没有指向“account_connect”,但他总是转到sonata用户登录页面,所以我这里的问题是如何禁用sonatauserbundle Rouning,而不更改我的供应商文件夹中的任何内容?路由始终使用表中的第一个条目。我认为在供应商文件夹中的bundle中更改路由的最好方法是覆盖其中的一部分 请看这里: