gpt4 book ai didi

php - Symfony 2 Guard 组件和一个普通的登录表单

转载 作者:搜寻专家 更新时间:2023-10-31 21:27:20 25 4
gpt4 key购买 nike

我正在尝试使用新的 Guard成分。我找到的唯一信息是 official docs .

文档中的示例使用 Guard 来验证 API 的请求。

根据文档,它也可以与普通登录​​表单一起使用,这是我想要做的。

我复制了那个例子并替换了两个函数:

public function getCredentials(Request $request)
{
return array(
'username' => $request->request->get('_username'),
'password' => $request->request->get('_password'),
);
}

public function getUser($credentials, UserProviderInterface $userProvider)
{
$email = $credentials['username'];

$user = $this->em->getRepository('Entity\User')
->findOneBy(array('email' => $email));

return $user;
}

安全.yml:

providers:
user_provider:
entity:
class: Entity\User
property: email

firewalls:
user:
switch_user: { role: ROLE_ADMIN }
pattern: ^/
anonymous: ~
provider: user_provider
form_login:
check_path: login_check
login_path: login
logout:
path: logout
target: login
guard:
authenticators:
- app.ldap.authenticator
stateless: false

问题是 Symfony 没有保留我的 session 。

只有当我为每个请求发送数据表单时,我才登录。是否可以像普通登录表单一样发送一次此数据?

最佳答案

我找到了。我在 security.yml 中有

always_authenticate_before_granting:  true

从另一个项目复制:)。我删除了它,现在可以使用了

关于php - Symfony 2 Guard 组件和一个普通的登录表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34250444/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com