Logowanie Symfony 4

Odpowiedz Nowy wątek
2018-12-17 19:56
0

Witam.Mam taki problem ,otóż chciałbym aby dany użytkownik mógł się zalogować na stronie,dodam ,ze mam już formularz logowania i rejestracji(mogę dodawać nowych użytkowników do bazy i ich zapisać ),ale nie bardzo wiem jak to zrobić ,ma troche kodu ale nie wiem czy to jest dobrze gdyż mam bład:Field 'login' not found in \Symfony\Component\Form\FormInterface

if ($form->isSubmitted() && $form->isValid())
        {
            $User=$this->getDoctrine()->getRepository(Users::class)->findOneBy($form->users);
            if($User->getLogin()==$form->login&&$User->getPassword()==$form->password)
            {
                $session=new Session();
                $session->start();
                $session->set("klient",$User);
                return $this->redirectToRoute('main');
            }
            else return $this->redirectToRoute('signin_add',array("message"=>'Błędny login lub hasło'));
        }

nie wiem co mam wpisać w miejsce findOneBy($form->users);, if($User->getLogin()==$form->login&&$User->getPassword()==$form->password)

edytowany 1x, ostatnio: sniperghost, 2018-12-17 19:57

Pozostało 580 znaków

2018-12-17 20:05
0

https://symfony.com/doc/current/security/form_login_setup.html

edytowany 2x, ostatnio: CodeRZ, 2018-12-17 20:10
formularz rejestracji mi działa normalnie ale chce teraz aby już zarejestrowany użytkownik mógł się zalogować - sniperghost 2018-12-17 20:07
Czyli chcesz zrobić logowanie? - CodeRZ 2018-12-17 20:07
masz link - CodeRZ 2018-12-17 20:10
dobrze dzięki - sniperghost 2018-12-17 20:13

Pozostało 580 znaków

2018-12-17 20:15
0

dobrze bo już posiadam formularz :
use App\Entity\Users;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\Form\Extension\Core\Type\PasswordType;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;

class SignInController extends AbstractController
{
/**

  • @Route("SignIn", name="signin_add")
  • @return Response
    */

    public function SignIn(Request $request)
    {
    $user = new Users();

    $form = $this->createFormBuilder($user)
        ->add("Login",TextType::class)
        ->add("Password",PasswordType::class)
        ->add("Submit",SubmitType::class, array('label' => 'Zaloguj się'))
        ->getForm();
    
    return $this->render("Form/signin.html.twig", array('form' => $form->createView(),));

    }

}```

Pozostało 580 znaków

2018-12-17 20:16
0

Nie, to masz źle, sf4 ma to tak zrobione, że nie musisz dodawać form. Usuń metode i daj to

    /**
     * @Route("/login", name="app_login")
     */
    public function login(AuthenticationUtils $authenticationUtils): Response
    {
        // get the login error if there is one
        $error = $authenticationUtils->getLastAuthenticationError();
        // last username entered by the user
        $lastUsername = $authenticationUtils->getLastUsername();

        return $this->render('security/login.html.twig', [
            'last_username' => $lastUsername,
            'error' => $error
        ]);
    }
ok a muszę wykonać tą komendę :php bin/console make:auth - sniperghost 2018-12-17 20:19
chyba nie, pierwszy raz to widzę, ja robiłem tylko make:user - CodeRZ 2018-12-17 20:20

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0