Sonata Admin Bundle + User Bundle:在允许访问用户之前检查管理员的注册
Sonata Admine Bundle + User Bundle : Check registration by admin before allowing access to user
我有一个基于 Symfony 2.8 的项目,我安装了 Sonata Admin Bundle 和 User Bundle,一切正常。
现在我要添加另一个约束。当我的用户注册时,我不想让他立即访问该应用程序。相反,管理员应该能够在之前检查用户数据,然后授予他访问权限。
示例:
PersonA 注册并提供了他的电子邮件和其他数据,但他应该无法登录。当管理员检查 PersonA 输入的数据并发现可以允许他访问该应用程序时,他可以授予他这种可能性,因此 PersonA 可以自由登录。
我不太习惯 Sonata bundle 的世界,所以我愿意接受你能给我的任何想法。
非常感谢!
在您的用户实体中添加以下内容:
public function __construct()
{
parent::__construct();
$this->enabled = false;
}
如果它不起作用,请将其添加到您的 Resources/config/doctrine/User.orm.xml
<!-- ... -->
<lifecycle-callbacks>
<lifecycle-callback type="prePersist" method="disable" />
</lifecycle-callbacks>
或者如果是 User.orm.yml
:
lifecycleCallbacks:
prePersist: [disable]
并在您的 User
实体中添加以下内容:
public function disable()
{
$this->setEnabled(false);
}
希望有用。
我有一个基于 Symfony 2.8 的项目,我安装了 Sonata Admin Bundle 和 User Bundle,一切正常。
现在我要添加另一个约束。当我的用户注册时,我不想让他立即访问该应用程序。相反,管理员应该能够在之前检查用户数据,然后授予他访问权限。
示例:
PersonA 注册并提供了他的电子邮件和其他数据,但他应该无法登录。当管理员检查 PersonA 输入的数据并发现可以允许他访问该应用程序时,他可以授予他这种可能性,因此 PersonA 可以自由登录。
我不太习惯 Sonata bundle 的世界,所以我愿意接受你能给我的任何想法。
非常感谢!
在您的用户实体中添加以下内容:
public function __construct()
{
parent::__construct();
$this->enabled = false;
}
如果它不起作用,请将其添加到您的 Resources/config/doctrine/User.orm.xml
<!-- ... -->
<lifecycle-callbacks>
<lifecycle-callback type="prePersist" method="disable" />
</lifecycle-callbacks>
或者如果是 User.orm.yml
:
lifecycleCallbacks:
prePersist: [disable]
并在您的 User
实体中添加以下内容:
public function disable()
{
$this->setEnabled(false);
}
希望有用。