Bonjour,

Comment faire pour permettre à mon compte admin de faire une mise à jours des ACL et ACE , pour qu'il affecte un certain Acces Controle à un utilisateur spécifique lors d'un ajout ou edition d'une entité USER et aprés le submit?

voici ce que j'ai fait , mais le problème que cela ne fonctionne pas :/

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
 
 
$adm = $em->getRepository('AppappBundle:admin')->findOneBy(array('username' => $this->getUser()->getUsername()));
 
                    $form = $this->createForm(new adminType($securityContext), $adm);
                    $form->handleRequest($req);
                    $a = $adm->getSociete();
                    if ($form->isValid()) {
                        $em = $this->getDoctrine()->getManager();
                        $adm->setRoles($adm->getRoles());
                        $adm->setToken(md5(uniqid(mt_rand(), true)));
                        $adm->setPassword(hash("sha512", $adm->getPassword()));
 
                        $em->persist($adm);
                        $em->flush();
 
                        $provider = $this->container->get('security.acl.provider');
                        $acl = $provider->findAcl(ObjectIdentity::fromDomainObject($a));
                        $securityId = UserSecurityIdentity::fromAccount($adm);
 
                        foreach($acl->getObjectAces() as $ace) {
                            if ($ace->getSecurityIdentity()->equals($securityId)) {
                                $maskBuilder = new MaskBuilder($ace->getMask());
 
                                $maskBuilder->remove(MaskBuilder::MASK_EDIT);
 
                                $ace->setMask($maskBuilder->get());
                                break;
                            }
                        }
 
                        $provider->updateAcl($acl);
Merci d'avnce.