【发布时间】:2021-08-04 01:47:58
【问题描述】:
我正在为我的网站使用框架 symfony 5,并且我已经实现了一个正常的身份验证系统。我有 2 个实体(用户和患者),当我通过表单输入新患者时,此表单的字段必须由已登录并正在添加的用户的 ID 自动填写(且未显示) .谁能帮帮我?
【问题讨论】:
标签: php html database symfony web
我正在为我的网站使用框架 symfony 5,并且我已经实现了一个正常的身份验证系统。我有 2 个实体(用户和患者),当我通过表单输入新患者时,此表单的字段必须由已登录并正在添加的用户的 ID 自动填写(且未显示) .谁能帮帮我?
【问题讨论】:
标签: php html database symfony web
无需将用户 ID 放入输入并从客户端获取。 不用说,有经验的用户可以修改 id(隐藏输入不是解决方案)。
在您的控制器中,您可以通过使用$this-getUser() 方法或注入Symfony\Component\Security\Core\Security 组件(如果您的控制器未扩展抽象控制器)来获取当前经过身份验证的用户。 https://symfony.com/doc/current/security.html#a-fetching-the-user-object
public function new_paziente(Request $request): Response
{
$paziente = new Paziente();
$user = $this-getUser();
$paziente->setResponsabile($user);
// remaining code unchanged
// do not forget to remove the 'responsabile' input from PazienteType and the twig
}
【讨论】: