Yii Framework Forum: menu odpowiednie do roli - grupy użytkowników - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

menu odpowiednie do roli - grupy użytkowników Rate Topic: -----

#1 User is offline   WitekS 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 4
  • Joined: 10-March 12

Posted 15 March 2012 - 12:31 PM

Po wypróbowaniu kilku rozszerzeń zostałem przy yii-user oraz rights sprawiały najmniej problemów i najbardziej mi odpowiadają. Próbuję to teraz połączyć z Creating a database-driven hierarchical Structure combined with CMenu and superfish i tutaj mam problem ponieważ z Yii dopiero zaczynam i nie wszystko jest dla mnie jasne. Chciałbym z bazy pobierać pozycje do menu ale tylko odpowiednie do danej roli (grupy użytkowników).Yii-user nie grupuje użytkowników więc chyba najbardziej odpowiednie byłoby przypisanie do roli tu jednak rights przechowuje wszystkie role i inne wpisy razem w tabeli AuthItem więc chyba relacja z tabelą z wpisami z menu typu wiele do wielu nie jest możliwa? Chyba źle się do tego zabieram dlatego bardzo proszę o wskazówki jak to zrobić?
0

#2 User is offline   sidewinder 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 218
  • Joined: 08-July 09
  • Location:Poland

Posted 16 March 2012 - 03:24 AM

Wydaje mi się, że możesz zrobić tam relacje wiele do wielu. Musisz tylko zapewnić spójność danych. Albo w php, albo jako triggery w bazie. W przypadku php, najlepiej upewnić się, że do tabeli asocjacyjnej trafiają tylko `id` elementów tabeli `Hierarchy` (z menu) dla których `parent` wynosi 1, oraz `id` tabeli `authItem` (z RBAC) dla których `type` jest równe CAuthItem::TYPE_ROLE (int 2).
Możesz też zapewnić spójność danych w triggerze. Sprawdzasz, wtedy przed insertem i przed updatem jaki jest `parent` i jaki jest `type` i w razie potrzeby przeszukujesz tabele `Hierarchy` w poszukiwania elementu nadrzędnego, lub tabele AuthItemChild w poszukiwaniu najbliżej nadrzędnej roli. Jest to rozwiązanie lepsze, jeżeli dane będą edytowane z rożnych interfejsów (np, aplikacja web + aplikacja desktop) ale też wymagająca dużo więcej pracy.
Proponuje rozwiązanie w php. Będziesz musiał zmodyfikować relacje w modelu dla `Hierarchy` tak, żeby filtrował po tabeli asocjacyjnej, oraz rozbudować rights o dodatkowy formularz, gdzie będziesz sobie przypisywał role do elementów menu.
---------------------------------------------------------------------
"Never memorize what you can look up in books."
Albert Einstein
0

#3 User is offline   WitekS 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 4
  • Joined: 10-March 12

Posted 16 March 2012 - 08:03 AM

też tak wcześniej kombinowałem i gdyby role były jako oddzielna tabela to byłoby idealne w przypadku gdy wszystko jest w jednej tabeli (kolumnie) trochę się sprawa komplikuje ale wystarczy powiązać tylko te z id=2 (role) i powinno być OK i tutaj chyba nic prostszego nie da się wykombinować
dzięki za info :)
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users