![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 162 Pomógł: 2 Dołączył: 18.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
Załóżmy że mam tabelę: "CV" - do tej tabeli dodawane są informacje o CV użytkownika (id, id_user, nazwa CV, path do pliku). Użytkownik może mieć kilka różnych CV w tej tabeli.
Stworzyłem drugą tabelę która przechowuje: id, id_usera, id_pracodawcy i id_cv. Jak stworzę w symfony2 formularz i dodam klasę do parametru: "data_class" to formularz stworzy mi listę <select> z dostępnymi CV....Jednakże każdy użytkownik może wybrać każde CV...A ja chciałbym aby użytkownik mógł wybrać CV tylko te które dodał sam....(i są do niego przypisane) Czy da się to osiągnąć używając ACL ? Możecie mnie nakierować jak ? Jaki atrybut przypisać obiektowi (CV) ? |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 162 Pomógł: 2 Dołączył: 18.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
Poradziłem sobie jeśli chodzi o moje ostatnio zadane pytanie
Co do rozwiązania jakie podałeś - to tak zapewne zrobię, natomiast zainteresował mnie sam ACL i mam w związku z tym kolejne pytanie: mam kod: Kod if($form->isValid()) { $cv = $form->getData(); $em = $this->getDoctrine()->getEntityManager(); $em->persist($cv); $em->flush(); // creating the ACL $aclProvider = $this->get('security.acl.provider'); $objectIdentity = ObjectIdentity::fromDomainObject($cv); $acl = $aclProvider->createAcl($objectIdentity); // retrieving the security identity of the currently logged-in user $securityContext = $this->get('security.context'); $user = $securityContext->getToken()->getUser(); $securityIdentity = UserSecurityIdentity::fromAccount($user); // grant owner access $acl->insertObjectAce($securityIdentity, MaskBuilder::MASK_OWNER); $aclProvider->updateAcl($acl); } Wszystko ładnie mi się dodaje do bazy, do tabel acl-owych również... Mam w bazie kilka cv dodanych przez 2 różnych użytkowników...Jeśli pobieram wszystkie cv to oboje użytkowników widzi wszystkie cv...a przecież chyba nie tak miało być ? To jak acl zabezpiecza obiekty ? Może mi to ktoś wyjaśnić ? |
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 16:13 |