使用标准Symfony2安全性的无表格身份验证

时间:2014-01-15 08:09:05

标签: php security symfony

我有以下情况:我在“/ register”模式下有一个我的域的安全区域,我已将其与一个名为“registrant”的固定用户相关联,并具有唯一角色USER_REGISTRANT。相关的security.yml部分是:

providers:
    in_memory:
        memory:
            users:
                registrant: { password: registrant, roles: 'REGISTERING_USER' }

firewalls:
    register:
        pattern: ^/register/.*
        anonymous: false
        form_login:
            login_path: /register/initiate_registration
            check_path: /register/start_registration

我的目标如下:每当用户尝试进入“/ register”安全上下文时,她应该自动被认证为用户“注册人”,无需任何表单交互或其他用户端身份验证步骤。

我想使用Symfony2中的标准表单登录机制实现这一点,即当用户被发送到login_path时,系统应该只生成必要的令牌/表单数据并将其传递给check_path,就像完成一样如果用户已填写表格并提交。

逻辑的一般概要应该是这样的:

/**
 * @Route("/register/initiate_registration", name="initiate_registration")
 */
public function startAction() {

    // TODO: Generate form data etc here

    return $this->redirect($this->generateUrl('start_registration'));
}

为了获得上面所需的功能,应该在login_path控制器中采取哪些步骤?

1 个答案:

答案 0 :(得分:1)

此文档对您有用security吗?