gpt4 book ai didi

php - 我已经搜索了 FOSUserBundle 私有(private)资料,但无济于事

转载 作者:搜寻专家 更新时间:2023-10-31 21:03:47 28 4
gpt4 key购买 nike

所以我尝试制作一个包含私有(private)配置文件的 symfony 项目,并且我使用 FriendsOfSymfony,但是如果我创建两个用户,每个人都可以看到其他人上传的文件。我尝试在多个网站上进行搜索,但未能找到适合我的内容。例子: Adding extended profile entity to FOS UserBundle

我想为每个用户创建私有(private)配置文件以上传文件,除了他们之外没有人可以看到它们(只有管理员和特定用户)。

最佳答案

前提是你已经延长了

Symfony\Bundle\FrameworkBundle\Controller\Controller

或者 FOSUserBundle Controller 你可以尝试做这样的事情:

public function publicProfileAction($handleOrHash = '')
{
if ($handleOrHash == '') {
throw new NotFoundHttpException("Unable to find this user");
}

$user = $this->getUserService()->getUserByHandleOrHash($handleOrHash);

if (!$user) {
throw new NotFoundHttpException("Unable to find this user");
}

if ($user != $this->getUser()) {
throw new AccessDeniedException("You cannot see this user profile");
}

return $this->render('MyUserBundle:Default:public-profile.html.twig',
array('user' => $user)
);
}

其中 getUserService() 将返回一个对象,该对象可以使用名为 getUserByHandleOrHash() 的方法访问 userRepository,该方法使用存储库进行学说查询。

关于php - 我已经搜索了 FOSUserBundle 私有(private)资料,但无济于事,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36173845/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com