2016-12-23 2 views
0

В моей заявке от FOSUserBundle требуется User, чтобы предоставить учетные данные для его аутентификации.FOSUserBundle автоматически аутентифицирует пользователя с привилегиями SUPER_ADMIN

Я хочу изменить поведение аутентификации на нестандартное: , когда требуется аутентификация, аутентифицировать пользователя автоматически (перенаправить или пропустить логин) с помощью SUPER_ADMIN привилегий.

Что такое правильный способ сделать это в Symfony 2?

ответ

1

Переопределить FOSUserBundle SecurityController сначала, после модификации метода loginAction;

public function loginAction(Request $request) 
{ 
    $user = new User("[email protected]", "your_pwd", "ROLE_SUPER_ADMIN"); 
    $token = new UsernamePasswordToken($user, $user->getPassword(),'your_security_provider_name', $user->getRoles()); 

    $this->get('security.token_storage')->setToken($token); 
    return $this->redirectToRoute('your_custom_route_name'); 
}