![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 663 Pomógł: 6 Dołączył: 3.06.2007 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Napisałem klasę autoryzacji użytkownikó. Reguła jest taka że powinna ona pozwalać na:
--- dodawanie ról --- dodawanie zasobów --- dzielenie zasobów na akcje --- zasoby mogą być dziedziczone w linii prostej --- role mogą dziedziczyć po sobie również w linii prostej Narobiłem się przy tym jak wół dlatego bardzo proszę o pomoc w testowaniu. Klasa zawiera funkcję drop() która wyświetla całą tabelę. Powinno pomóc. Dla wytrwałych proponuję w zamian działającą klasę. Na pewno się przyda jeśli nie teraz to może w przyszłości (IMG:style_emoticons/default/smile.gif)
to się nie zmieściło do posta....
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 782 Pomógł: 153 Dołączył: 21.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
Eee, czy ty czasem nie przepisujesz Zend_Acl?
@DOWN: Jeśli robi to dla praktyki to nic mi do tego. Jeśli jednak chce to użyć gdzieś produkcyjnie to raczej przepisywanie się nie opłaca - ta sama funkcjonalność a prawdopodobieństwo popełnienia błędu znacznie większe. Co do lekkości to sprawdziłem trunka - samo Acl z klasami pomocniczymi to obecnie ~15kb, a prawdopodobnie znacznie stabilniejsze (czy lepiej zaprojektowane, sprawa dyskusyjna) - przecież nie musi całego ZFa pakować w aplikację. Dzięki za PHPUnit - też się przyda. Ten post edytował everth 11.08.2010, 07:08:11 |
|
|
![]()
Post
#3
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Eee, czy ty czasem nie przepisujesz Zend_Acl? Tylko, że jest znacznie lżejesz. Co do testowania zainteresuj się testami jednostkowymi (phpunit), bo to do tego służy. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 663 Pomógł: 6 Dołączył: 3.06.2007 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Zend_Acl nie pozwala na dziedziczenie zasobów chyba że coś przeoczyłem. Mam swój framework i nastawiłem się już że piszę go w całości od podstaw dlatego wolałbym nie korzystać z Zenda. Czy ktoś miałby chwilę to przetestować? Ta funkcja drop() wyświetla od razu tabelkę ról i uprawnień więc nie powinno zająć to dużo czasu. Wystarczy przekleić.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 101 Pomógł: 11 Dołączył: 2.02.2005 Ostrzeżenie: (0%) ![]() ![]() |
Wystarczy przekleić. Zgodnie z życzeniem przekleiłem (IMG:style_emoticons/default/winksmiley.jpg) Moim zdaniem działa (IMG:style_emoticons/default/smile.gif) , dziedziczenie również (trochę od siebie dodałem, wywaliłem ... , zgodnie z tym co zrobiłem zawartość tabeli się zmieniała, więc działa) Ta funkcja drop() wyświetla od razu tabelkę... Zastanawia mnie tylko to "IS_ALLOWED" (kodu nie studiowałem) , czy to jest info o tym, że wszystko co jest możliwe zostało udostępnione temu użytkownikowi ? (bo tylko dla administratora dla article wyświetla się "jest dozwolone" <- dla przykładu który Ty podałeś) Dla pełnej jasności co wogóle jest dostępne i co danemu użytkownikowi zostało odebrane to dołożyłbym np. na czerwono w tabelce to powyższe "delete" |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 663 Pomógł: 6 Dołączył: 3.06.2007 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
IS_ALLOWED w tabelce oznacza, że wszystkie akcje są dozwolone. Jest to test dla opcji bez podawania akcji czyli np mozna stosowac klasę tak
i odpytać:
Dzięki temu można stosować klasę w mniejszych projektach bez podziału na akcje. Dalsze testy wskazane (IMG:style_emoticons/default/smile.gif) Na pewno muszą być jakieś bugi (IMG:style_emoticons/default/smile.gif) Ten post edytował Black-Berry 11.08.2010, 10:49:34 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 4.10.2025 - 04:54 |