FOSUserBundle使用SUPER_ADMIN权限自动验证用户身份

时间:2016-12-23 12:20:40

标签: symfony fosuserbundle

在我的应用程序中,来自path: /login的{​​{1}}要求FOSUserBundle提供凭据才能对其进行身份验证。

我想将身份验证行为更改为非标准: 无论何时需要身份验证,都需要使用User权限自动对用户进行身份验证(重定向或跳过登录)。

在Symfony 2中执行此操作的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

首先修改FOSUserBundle SecurityController,修改后的loginAction方法;

public function loginAction(Request $request) 
{
    $user  = new User("yourmail@sd.com", "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');
}