我有以下情况:我在“/ 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控制器中采取哪些步骤?