我正在做一个symfony 5项目。
我需要创建多用户类型:组织者和参与者…
我想为那些用户生成身份验证
我生成了一个用户:php bin/console make:user
然后:
/**
* @ORMEntity(repositoryClass=UserRepository::class)
* @ORMInheritanceType("JOINED")
* @ORMDiscriminatorColumn(name="type", type="string")
* @ORMDiscriminatorMap({
* "organizer" = "Organizer",
* "participant" = "Participant",
* })
*/
class User implements UserInterface
我创建了一个Organizer实体:class Organizer extends User
我添加了一个参与者实体:class Participant extends User
如果有人解释我如何使用php bin/console make:auth
为组织者和参与者的用户生成身份验证,我将不胜感激
我曾经这样做过,我有两种用户类型,分别是author和admin。非常简短地说,管理员有他/她自己的仪表板,作者也有,有不同的实体。我使用make:entity
使user
和author
成为实体,并确保它们的内容相似(但您可以添加以满足您的应用程序需求(。在通过php bin/console make:user
生成管理员用户后,我必须复制user templates, controller e.t.c
php文件的内容,并用其内容创建author templates, controller e.t.c
,他们进行迁移/模式更新。这是手动的,我欢迎自动/脚本生成的解决方案。
管理实体
/**
* @ORMEntity(repositoryClass=UserRepository::class)
* @ORMTable(name="`user`")
* @UniqueEntity(fields={"email"}, message="There is already an account with this email")
* @ORMHasLifecycleCallbacks()
*/
class User implements UserInterface
{
/**
* @ORMId
* @ORMGeneratedValue
* @ORMColumn(type="integer")
*/
private int $id;
/**
* @ORMColumn(type="string", length=180, unique=true)
*/
private ?string $email;
}
作者实体
/**
* @ORMEntity(repositoryClass=AuthorsRepository::class)
* @ORMTable(name="authors")
* @UniqueEntity(fields={"email"}, message="There is already an Author account with this email")
* @ORMHasLifecycleCallbacks()
*/
class AllAuthors implements UserInterface
{
/**
* @ORMId
* @ORMGeneratedValue
* @ORMColumn(type="integer")
*/
private ?int $id;
/**
* @ORMColumn(type="string", length=255, unique=true)
*/
private ?string $email;
}
为此,您需要配置多个用户提供程序和多个保护身份验证程序(独立或共享入口点(。你可以在这里从symfony文档中了解这一点。
同时阅读这篇文章,它可能有助于Symfony 5中使用LDAP和DB 的多重身份验证