0
我正在使用Symfony 2.3,但我找不到在两张桌子上添加安全性的好方案。两张桌子上的安全Symfony2
我有一个用户,该用户可以得到一个应用程序,他可以访问他的这条路径的应用程序:/应用/ {ID}
所以我想确保这一页,如果用户链接到应用程序。我做的东西在我的控制器检查,但这不是很干净:
/**
*
* @param int $idApplication
* @return UserApplication
*/
public function testUserApplication($idApplication){
//get the application
$applicationRepository = $this->getDoctrine()->getRepository('PhoneApplicationBundle:Application');
$application = $applicationRepository->find($idApplication);
if($application==null){
return null;
}
$userApplicationRepository = $this->getDoctrine()->getRepository('PhoneApplicationBundle:UserApplication');
$userApplication = $userApplicationRepository->findOneBy(array(
'user' => $this->getUser(),
'application' => $application
));
return $userApplication;
}
我不知道如果我能做到这一点使用的安全性。
我尝试了其他的解决办法创造它检查这个
class Test
{
/** @var \Doctrine\ORM\EntityManager */
private $doctrine;
/**
* Constructor
*
* @param Doctrine $doctrine
*/
public function __construct(Doctrine $doctrine)
{
$this->doctrine = $doctrine;
}
public function userApplication($idApplication){
//get the application
$applicationRepository = $this->doctrine->getRepository('PhoneApplicationBundle:Application');
$application = $applicationRepository->find($idApplication);
if($application==null){
return null;
}
$userApplicationRepository = $this->doctrine->getRepository('PhoneApplicationBundle:UserApplication');
$userApplication = $userApplicationRepository->findOneBy(array(
'user' => $this->getUser(),
'application' => $application
));
return $userApplication;
}
}
service.yml服务:
parameters:
phone_application.test_user_application.class: Phone\ApplicationBundle\Service\Test
services:
phone_application.test_user_application:
class: %phone_application.test_user_application.class%
arguments: [@doctrine]
但我不明白真的如何在控制器使用
感谢您的帮助。
感谢您的帮助 – Ajouve