我使用symfony.com 的"使用传统登录表单"教程来验证我的用户身份.使用简单的http auth,它可以很好地工作.
提交登录后,我得到以下异常:
无法找到路径"/ login_check"的控制器.也许您忘了在路由配置中添加匹配路由?
好吧,在教程中我读到:
您不需要为/ login_check URL实现控制器,因为防火墙将自动捕获并处理提交到此URL的任何表单.
我定义了路由并设置了防火墙设置:
security.yml
firewalls:
dev:
pattern: ^/(_(profiler|wdt)|css|images|js)/
security: false
backend:
pattern: ^/backend
anonymous: ~
form_login:
provider: entity
login_path: /login
check_path: /login_check
#use_forward: true
logout:
path: /logout
target: /
Run Code Online (Sandbox Code Playgroud)
使用routing.yml
login:
pattern: /login
defaults: { _controller: VitaSecurityBundle:Default:login }
login_check:
pattern: /login_check
logout:
pattern: /logout
Run Code Online (Sandbox Code Playgroud) 我有一个上传文件,我想从那里显示数据库中的所有类别,但我一直收到 EntityType 错误,我不知道之前为什么工作。
这是错误: Cannot assign Doctrine\ORM\PersistentCollection to property App\Entity\Category::$posts of type Doctrine\Common\Collections\ArrayCollection
<?php
declare(strict_types=1);
namespace App\Entity;
use App\Repository\CategoryRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass=CategoryRepository::class)
*/
class Category
{
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
private int $id;
/**
* @ORM\Column(type="string", length=255)
*/
private string $name;
/**
* @ORM\OneToMany(targetEntity=Post::class, mappedBy="Category_id")
*/
private ArrayCollection $Posts;
public function __construct()
{
$this->posts = new ArrayCollection();
}
public function getId(): ?int
{
return $this->id;
}
public function …Run Code Online (Sandbox Code Playgroud)