我使用FOS用戶包和LdapBundle爲我的用戶連接到網站。 我創建了一個表單,我想跟蹤誰添加了一個條目。所以我想保存到數據庫添加/修改那個東西的用戶。使用當前用戶ID - symfony 2
這樣做的最好方法是什麼?由於這將是一種形式,我的第一個想法是用當前用戶ID在我的FormType上創建一個隱藏字段,但我認爲這是安全的。
任何建議,將不勝感激。
謝謝!
我使用FOS用戶包和LdapBundle爲我的用戶連接到網站。 我創建了一個表單,我想跟蹤誰添加了一個條目。所以我想保存到數據庫添加/修改那個東西的用戶。使用當前用戶ID - symfony 2
這樣做的最好方法是什麼?由於這將是一種形式,我的第一個想法是用當前用戶ID在我的FormType上創建一個隱藏字段,但我認爲這是安全的。
任何建議,將不勝感激。
謝謝!
我不知道ldapBundle但是當我想保存例如照片我做我的控制器
$user=$this->security_context->getToken()->getUser();
$form = $this->createForm(new PhotoType(), $photo)
$request = $this->get('request');
if ($request->getMethod() == 'POST') {
$form->handleRequest($request);
if ($form->isValid()) {
$photo->setUser($user);
$em = $this->getDoctrine()->getManager();
$em->persist($photo);
$em->flush();
....
它是一種基本的代碼,您還可以檢查用戶是否存在beofre做堅持:if($user) ...
我會建議反對隱藏的領域,因爲它可以很容易地操縱。
更好的方法是將SecurityContext
注入到表單中,並通過POST_SUBMIT
事件將登錄用戶綁定到該對象。
感謝您的答案。我無法獲得'$ user = $ this-> security_context ...'工作,PHPStorm不斷告訴我'security_context'字段不存在它我的控制器。我必須包括什麼? – Anthony 2014-11-14 17:09:52
我的不好,它的作品:)謝謝! – Anthony 2014-11-14 17:20:20