Предупреждение о защищенной области Symfony 4

Я следую этим руководствам: -

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

https://symfony.com/doc/current/doctrine/registration_form.html

Я сделал страницу регистрации, но когда я пытаюсь получить доступ / страницу регистрации, появляется предупреждение о защищенной зоне.

Вот мои файлы:

security.yaml

# config/packages/security.yaml
security:
encoders:
    App\Entity\User:
        algorithm: bcrypt

providers:
    our_db_provider:
        entity:
            class: App\Entity\User

firewalls:
    main:
        pattern:    ^/
        http_basic: ~
        provider: our_db_provider

UserRegistrationController.php

namespace App\Controller;

use App\Form\UserType;
use App\Entity\User;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\Security\Core\Encoder\UserPasswordEncoderInterface;

class UserRegistrationController extends Controller {

    /**
     * @Route("/registration", name = "user_registration")
     */

    public function registerUser(Request $request, UserPasswordEncoderInterface $passwordEncoder) {

        $user = new User();

        $form = $this->createForm(UserType::class, $user);
        $form->handleRequest($request);

        if ($form->isSubmitted and $form->isValid()) {

            $password = $passwordEncoder->encodePassword($user, $user->getPlainPassword());
            $user->setPassword($password);

            $entityManager = $this->getDoctrine()->getManager();
            $entityManager->persist($user);
            $entityManager->flush();

            return $this->redirectToRoute('user_registration_successful');

        }


        return $this->render(
            'Form/UserRegistration.html.twig',
            array('form' => $form->createView())
        );

    }

}

UserType.php

namespace App\Form;

use App\Entity\User;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\Extension\Core\Type\EmailType;
use Symfony\Component\Form\Extension\Core\Type\RepeatedType;
use Symfony\Component\Form\Extension\Core\Type\PasswordType;

class UserType extends AbstractType {

    public function createForm (FormBuilderInterface $form, array $options) {

        $form
            ->add('username', TextType::class)
            ->add('email', EmailType::class)
            ->add('plainPassword', RepeatedType::class, array(
                'type' => PasswordType::class,
                'first_options' => array('label', 'Password'),
                'second_options' => array('label', 'Repeat password')
            ));

    }

    public function configureOptions (OptionsResolver $resolver) {

        $resolver->setDefaults(array(
            'data_class' => User::class
        ));

    }

}

UserRegistrationForm.html.twig

{{ form_start(form) }}
    {{ form_row(form.username) }}
    {{ form_row(form.email) }}
    {{ form_row(form.plainPassword.first) }}
    {{ form_row(form.plainPassword.second) }}

    <button type = "submit">Register!</button>
{{ form_end(form) }}

Ваш файл security.yml кажется неполным. Обычно у вас есть анонимный: ~ в вашем основном брандмауэре. symfony.com/doc/current/…

Cerad 11.06.2018 14:21

Я просто взял этот код из документации без каких-либо изменений.

Janusz Kubala 11.06.2018 14:28

Хм. Ссылка, которую я вам дал, показывает иначе. Но ладно.

Cerad 11.06.2018 14:32

Хорошо, теперь я понял, что шаблон ^ / и http_basic ~, вероятно, означает, что каждая страница защищена. Спасибо за этот документ.

Janusz Kubala 11.06.2018 14:36
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
4
96
0

Другие вопросы по теме