gpt4 book ai didi

symfony - 检查密码并使用FOSUserBundle手动创建用户

转载 作者:行者123 更新时间:2023-12-03 11:31:20 25 4
gpt4 key购买 nike

我在应用程序中使用FOSUserBundle。我想通过HTTP服务做两件事:

  • 检查密码。该服务可能如下所示(密码不会被加密):
    public function checkPasswordValidity($userId, $password) {
    $user = $this->getDoctrine()
    ->getRepository('MyCompany\UserBundle\Entity\User')
    ->find($userId);

    if (specialFunction($user , $password))
    echo 'Valid Password';
    else
    echo 'Invalid Password';
    }
  • 通过另一个HTTP服务创建一个新用户。参数将是用户名和密码。
  • 最佳答案

  • 检查密码:
    $encoder_service = $this->get('security.encoder_factory');
    $encoder = $encoder_service->getEncoder($user);
    $encoded_pass = $encoder->encodePassword($password, $user->getSalt());

    //then compare $user->getPassword() and $encoded_pass
  • 创建一个新用户:
    $userManager = $this->get('fos_user.user_manager');
    $user = $userManager->createUser();
    $user->setUsername($login);
    $user->setPlainPassword($pass);
    ...
    $userManager->updateUser($user);
  • 关于symfony - 检查密码并使用FOSUserBundle手动创建用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9479751/

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