![]() |
![]() ![]() |
![]() |
![]()
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 ![]()
to się nie zmieściło do posta....
-------------------- http://www.berry.nazwa.pl/edico/public_html/index.php ----> under construction
|
|
|
![]()
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 -------------------- Już mi się ani wiedzieć, ani tym bardziej myśleć nie chce.
[Think different]! |
|
|
![]()
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ć.
-------------------- http://www.berry.nazwa.pl/edico/public_html/index.php ----> under construction
|
|
|
![]()
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 ![]() Moim zdaniem 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" -------------------- $email = filter_var(filter_var($email, FILTER_SANITIZE_EMAIL), FILTER_VALIDATE_EMAIL);
if($email === false) { // Houston, we have a problem.... } |
|
|
![]()
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 ![]() ![]() Ten post edytował Black-Berry 11.08.2010, 10:49:34 -------------------- http://www.berry.nazwa.pl/edico/public_html/index.php ----> under construction
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 15:46 |